linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/12] mm: establish const-correctness for pointer parameters
@ 2025-09-01 20:50 Max Kellermann
  2025-09-01 20:50 ` [PATCH v6 01/12] mm: constify shmem related test functions for improved const-correctness Max Kellermann
                   ` (14 more replies)
  0 siblings, 15 replies; 32+ messages in thread
From: Max Kellermann @ 2025-09-01 20:50 UTC (permalink / raw)
  To: akpm, david, axelrasmussen, yuanchu, willy, hughd, mhocko,
	linux-kernel, linux-mm, lorenzo.stoakes, Liam.Howlett, vbabka,
	rppt, surenb, vishal.moola, linux, James.Bottomley, deller,
	agordeev, gerald.schaefer, hca, gor, borntraeger, svens, davem,
	andreas, dave.hansen, luto, peterz, tglx, mingo, bp, x86, hpa,
	chris, jcmvbkbc, viro, brauner, jack, weixugc, baolin.wang,
	rientjes, shakeel.butt, max.kellermann, thuth, broonie, osalvador,
	jfalempe, mpe, nysal, linux-arm-kernel, linux-parisc, linux-s390,
	sparclinux, linux-fsdevel

For improved const-correctness in the low-level memory-management
subsystem, which provides a basis for further const-ification further
up the call stack (e.g. filesystems).

This patch series splitted into smaller patches was initially posted
as a single large patch:

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

I started this work when I tried to constify the Ceph filesystem code,
but found that to be impossible because many "mm" functions accept
non-const pointer, even though they modify nothing.

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)

v3 -> v4:
- more verbose commit messages including a listing of function names
  (suggested by David Hildenbrand and Lorenzo Stoakes)

v4 -> v5:
- back to shorter commit messages after an agreement between David
  Hildenbrand and Lorenzo Stoakes was found

v5 -> v6:
- fix inconsistent constness of assert_fault_locked()
- revert the const parameter value change from v2 (requested by
  Lorenzo Stoakes)
- revert the long cover letter, removing long explanations again
  (requested by Lorenzo Stoakes)

Max Kellermann (12):
  mm: constify shmem related test functions for improved
    const-correctness
  mm: constify pagemap related test/getter functions
  mm: constify zone related test/getter functions
  fs: constify mapping related test functions for improved
    const-correctness
  mm: constify process_shares_mm() for improved const-correctness
  mm, s390: constify mapping related test/getter functions
  parisc: constify mmap_upper_limit() parameter
  mm: constify arch_pick_mmap_layout() for improved const-correctness
  mm: constify ptdesc_pmd_pts_count() and folio_get_private()
  mm: constify various inline functions for improved const-correctness
  mm: constify assert/test functions in mm.h
  mm: constify highmem related functions for improved const-correctness

 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                 |  6 +--
 arch/sparc/kernel/sys_sparc_64.c    |  2 +-
 arch/x86/mm/mmap.c                  |  6 +--
 arch/xtensa/include/asm/highmem.h   |  2 +-
 include/linux/fs.h                  |  6 +--
 include/linux/highmem-internal.h    | 36 +++++++++---------
 include/linux/highmem.h             |  8 ++--
 include/linux/mm.h                  | 56 +++++++++++++--------------
 include/linux/mm_inline.h           | 25 ++++++------
 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                       |  6 +--
 mm/shmem.c                          |  6 +--
 mm/util.c                           | 16 ++++----
 21 files changed, 155 insertions(+), 153 deletions(-)

-- 
2.47.2



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

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

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-01 20:50 [PATCH v6 00/12] mm: establish const-correctness for pointer parameters Max Kellermann
2025-09-01 20:50 ` [PATCH v6 01/12] mm: constify shmem related test functions for improved const-correctness Max Kellermann
2025-09-01 20:50 ` [PATCH v6 02/12] mm: constify pagemap related test/getter functions Max Kellermann
2025-09-01 20:50 ` [PATCH v6 03/12] mm: constify zone " Max Kellermann
2025-09-01 20:50 ` [PATCH v6 04/12] fs: constify mapping related test functions for improved const-correctness Max Kellermann
2025-09-02 10:42   ` Jan Kara
2025-09-02 10:57   ` Christian Brauner
2025-09-01 20:50 ` [PATCH v6 05/12] mm: constify process_shares_mm() " Max Kellermann
2025-09-02  8:03   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 06/12] mm, s390: constify mapping related test/getter functions Max Kellermann
2025-09-02  6:13   ` Lorenzo Stoakes
2025-09-02  8:04   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 07/12] parisc: constify mmap_upper_limit() parameter Max Kellermann
2025-09-02  6:13   ` Lorenzo Stoakes
2025-09-02  8:04   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 08/12] mm: constify arch_pick_mmap_layout() for improved const-correctness Max Kellermann
2025-09-02  6:15   ` Lorenzo Stoakes
2025-09-02  8:05   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 09/12] mm: constify ptdesc_pmd_pts_count() and folio_get_private() Max Kellermann
2025-09-01 20:50 ` [PATCH v6 10/12] mm: constify various inline functions for improved const-correctness Max Kellermann
2025-09-02  6:16   ` Lorenzo Stoakes
2025-09-02  8:05   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 11/12] mm: constify assert/test functions in mm.h Max Kellermann
2025-09-02  6:17   ` Lorenzo Stoakes
2025-09-02  8:06   ` David Hildenbrand
2025-09-01 20:50 ` [PATCH v6 12/12] mm: constify highmem related functions for improved const-correctness Max Kellermann
2025-09-02  6:17   ` Lorenzo Stoakes
2025-09-02  8:11   ` David Hildenbrand
2025-09-01 21:34 ` [PATCH v6 00/12] mm: establish const-correctness for pointer parameters Vlastimil Babka
2025-09-02  6:19 ` Lorenzo Stoakes
2025-09-02  8:12   ` David Hildenbrand
2025-09-02 10:02 ` Mike Rapoport

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).