linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/12] mm: add `const` to lots of pointer parameters
@ 2025-08-31  9:39 Max Kellermann
  2025-08-31  9:39 ` [PATCH v2 01/12] mm/shmem: " Max Kellermann
                   ` (11 more replies)
  0 siblings, 12 replies; 34+ messages in thread
From: Max Kellermann @ 2025-08-31  9:39 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)

Max Kellermann (12):
  mm/shmem: add `const` to lots of pointer parameters
  include/pagemap.h: add `const` to lots of pointer parameters
  include/mmzone.h: add `const` to lots of pointer parameters
  include/fs.h: add `const` to several pointer parameters
  mm/oom_kill: add `const` to pointer parameter
  mm/util: add `const` to several pointer parameters
  parisc/sys_parisc.c: add `const` to mmap_upper_limit() parameter
  arch, mm/util: add const to arch_pick_mmap_layout() parameter
  include/mm_types.h: add `const` to several pointer parameters
  include/mm_inline.h: add `const` to lots of pointer parameters
  include/mm.h: 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    |  5 ++-
 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, 163 insertions(+), 147 deletions(-)

-- 
2.47.2



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

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

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-31  9:39 [PATCH v2 00/12] mm: add `const` to lots of pointer parameters Max Kellermann
2025-08-31  9:39 ` [PATCH v2 01/12] mm/shmem: " Max Kellermann
2025-09-01  7:33   ` Kiryl Shutsemau
2025-09-01  8:05     ` Max Kellermann
2025-09-01  8:20       ` David Hildenbrand
2025-09-01  8:26         ` Max Kellermann
2025-09-01  8:35           ` David Hildenbrand
2025-09-01  9:26             ` Max Kellermann
2025-09-01  9:32               ` Vlastimil Babka
2025-09-01  9:45                 ` Max Kellermann
2025-09-01  9:49                   ` David Hildenbrand
2025-09-01  9:41               ` David Hildenbrand
2025-09-01  9:48                 ` Max Kellermann
2025-09-01  9:52                   ` David Hildenbrand
2025-09-01 10:00                     ` Max Kellermann
2025-09-01 10:07                       ` David Hildenbrand
2025-09-01 10:36                         ` Max Kellermann
2025-09-01 10:40                           ` David Hildenbrand
2025-09-01  9:01       ` Mike Rapoport
2025-08-31  9:39 ` [PATCH v2 02/12] include/pagemap.h: " Max Kellermann
2025-08-31  9:39 ` [PATCH v2 03/12] include/mmzone.h: " Max Kellermann
2025-08-31  9:39 ` [PATCH v2 04/12] include/fs.h: add `const` to several " Max Kellermann
2025-08-31  9:39 ` [PATCH v2 05/12] mm/oom_kill: add `const` to pointer parameter Max Kellermann
2025-08-31  9:39 ` [PATCH v2 06/12] mm/util: add `const` to several pointer parameters Max Kellermann
2025-08-31  9:39 ` [PATCH v2 07/12] parisc/sys_parisc.c: add `const` to mmap_upper_limit() parameter Max Kellermann
2025-09-01  0:38   ` Matthew Wilcox
2025-09-01  6:06     ` Max Kellermann
2025-08-31  9:39 ` [PATCH v2 08/12] arch, mm/util: add const to arch_pick_mmap_layout() parameter Max Kellermann
2025-08-31 23:43   ` kernel test robot
2025-09-01  4:30     ` Max Kellermann
2025-08-31  9:39 ` [PATCH v2 09/12] include/mm_types.h: add `const` to several pointer parameters Max Kellermann
2025-08-31  9:39 ` [PATCH v2 10/12] include/mm_inline.h: add `const` to lots of " Max Kellermann
2025-08-31  9:39 ` [PATCH v2 11/12] include/mm.h: " Max Kellermann
2025-08-31  9:39 ` [PATCH v2 12/12] mm/highmem: " Max Kellermann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).