linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/12] mm: add `const` to lots of pointer parameters
@ 2025-09-01  6:12 Max Kellermann
  2025-09-01  6:12 ` [PATCH v3 01/12] mm/shmem: " Max Kellermann
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Max Kellermann @ 2025-09-01  6:12 UTC (permalink / raw)
  To: akpm, david, axelrasmussen, yuanchu, willy, hughd, mhocko,
	linux-kernel, linux-mm, lorenzo.stoakes, Liam.Howlett, vbabka,
	rppt, surenb, vishal.moola
  Cc: Max Kellermann

For improved const-correctness.

This work was initially posted here:
 https://lore.kernel.org/lkml/20250827192233.447920-1-max.kellermann@ionos.com/

.. but got rejected by Lorenzo Stoakes:
 https://lore.kernel.org/lkml/d6bf808d-7d74-4e22-ac4b-a6d1f4892262@lucifer.local/

David Hildenbrand and Lorenzo Stoakes suggested splitting the patch
into smaller chunks.  My second attempt with one smaller patch was met
with agreement:

 https://lore.kernel.org/lkml/20250828130311.772993-1-max.kellermann@ionos.com/

Now this is the rest of the initial patch in small pieces, plus some
more.

Establishing const-correctness in this low-level part of the kernel
enables doing the same in higher-level parts, e.g. filesystems.

Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
---
v1 -> v2:
- made several parameter values const (i.e. the pointer address, not
  just the pointed-to memory), as suggested by Andrew Morton and
  Yuanchu Xie
- drop existing+obsolete "extern" keywords on lines modified by these
  patches (suggested by Vishal Moola)
- add missing parameter names on lines modified by these patches
  (suggested by Vishal Moola)
- more "const" pointers (e.g. the task_struct passed to
  process_shares_mm())
- add missing "const" to s390, fixing s390 build failure
- moved the mmap_is_legacy() change in arch/s390/mm/mmap.c from 08/12
  to 06/12 (suggested by Vishal Moola)

v2 -> v3:
- remove garbage from 06/12
- changed tags on subject line (suggested by Matthew Wilcox)

Max Kellermann (12):
  mm/shmem: add `const` to lots of pointer parameters
  mm/pagemap: add `const` to lots of pointer parameters
  mm/mmzone: add `const` to lots of pointer parameters
  fs: add `const` to several pointer parameters
  mm/oom_kill: add `const` to pointer parameter
  mm/util, s390: add `const` to several pointer parameters
  parisc: add `const` to mmap_upper_limit() parameter
  mm/util, s390, sparc, x86: add const to arch_pick_mmap_layout()
    parameter
  mm/mm_types: add `const` to several pointer parameters
  mm/mm_inline: add `const` to lots of pointer parameters
  mm: add `const` to lots of pointer parameters
  mm/highmem: add `const` to lots of pointer parameters

 arch/arm/include/asm/highmem.h      |  6 +--
 arch/parisc/include/asm/processor.h |  2 +-
 arch/parisc/kernel/sys_parisc.c     |  2 +-
 arch/s390/mm/mmap.c                 |  7 ++--
 arch/sparc/kernel/sys_sparc_64.c    |  3 +-
 arch/x86/mm/mmap.c                  |  7 ++--
 arch/xtensa/include/asm/highmem.h   |  2 +-
 include/linux/fs.h                  |  7 ++--
 include/linux/highmem-internal.h    | 38 ++++++++++---------
 include/linux/highmem.h             |  8 ++--
 include/linux/mm.h                  | 48 +++++++++++------------
 include/linux/mm_inline.h           | 26 +++++++------
 include/linux/mm_types.h            |  4 +-
 include/linux/mmzone.h              | 42 ++++++++++----------
 include/linux/pagemap.h             | 59 +++++++++++++++--------------
 include/linux/sched/mm.h            |  4 +-
 include/linux/shmem_fs.h            |  4 +-
 mm/highmem.c                        | 10 ++---
 mm/oom_kill.c                       |  3 +-
 mm/shmem.c                          |  6 +--
 mm/util.c                           | 20 ++++++----
 21 files changed, 162 insertions(+), 146 deletions(-)

-- 
2.47.2



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-09-01  8:52 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-01  6:12 [PATCH v3 00/12] mm: add `const` to lots of pointer parameters Max Kellermann
2025-09-01  6:12 ` [PATCH v3 01/12] mm/shmem: " Max Kellermann
2025-09-01  7:44   ` Lorenzo Stoakes
2025-09-01  8:01     ` Max Kellermann
2025-09-01  8:52       ` Lorenzo Stoakes
2025-09-01  6:12 ` [PATCH v3 02/12] mm/pagemap: " Max Kellermann
2025-09-01  6:12 ` [PATCH v3 03/12] mm/mmzone: " Max Kellermann
2025-09-01  6:12 ` [PATCH v3 04/12] fs: add `const` to several " Max Kellermann
2025-09-01  6:12 ` [PATCH v3 05/12] mm/oom_kill: add `const` to pointer parameter Max Kellermann
2025-09-01  6:12 ` [PATCH v3 06/12] mm/util, s390: add `const` to several pointer parameters Max Kellermann
2025-09-01  6:12 ` [PATCH v3 07/12] parisc: add `const` to mmap_upper_limit() parameter Max Kellermann
2025-09-01  6:12 ` [PATCH v3 08/12] mm/util, s390, sparc, x86: add const to arch_pick_mmap_layout() parameter Max Kellermann
2025-09-01  6:12 ` [PATCH v3 09/12] mm/mm_types: add `const` to several pointer parameters Max Kellermann
2025-09-01  6:12 ` [PATCH v3 10/12] mm/mm_inline: add `const` to lots of " Max Kellermann
2025-09-01  6:12 ` [PATCH v3 11/12] mm: " Max Kellermann
2025-09-01  6:12 ` [PATCH v3 12/12] mm/highmem: " Max Kellermann
2025-09-01  7:39 ` [PATCH v3 00/12] mm: " Lorenzo Stoakes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox