From: Max Kellermann <max.kellermann@ionos.com>
To: akpm@linux-foundation.org, david@redhat.com,
axelrasmussen@google.com, yuanchu@google.com,
willy@infradead.org, hughd@google.com, mhocko@suse.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com,
vbabka@suse.cz, rppt@kernel.org, surenb@google.com,
vishal.moola@gmail.com
Cc: Max Kellermann <max.kellermann@ionos.com>
Subject: [PATCH v2 06/12] mm/util: add `const` to several pointer parameters
Date: Sun, 31 Aug 2025 11:39:12 +0200 [thread overview]
Message-ID: <20250831093918.2815332-7-max.kellermann@ionos.com> (raw)
In-Reply-To: <20250831093918.2815332-1-max.kellermann@ionos.com>
For improved const-correctness.
(Even though seemingly unrelated, this also constifies the pointer
parameter of mmap_is_legacy() in arch/s390/mm/mmap.c because a copy of
the function exists in mm/util.c.)
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Reviewed-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
---
arch/s390/mm/mmap.c | 2 +-
include/linux/mm.h | 6 +++---
include/linux/pagemap.h | 2 +-
mm/util.c | 11 ++++++-----
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
index 547104ccc22a..c0f619fb9ab3 100644
--- a/arch/s390/mm/mmap.c
+++ b/arch/s390/mm/mmap.c
@@ -27,7 +27,7 @@ static unsigned long stack_maxrandom_size(void)
return STACK_RND_MASK << PAGE_SHIFT;
}
-static inline int mmap_is_legacy(struct rlimit *rlim_stack)
+static inline int mmap_is_legacy(const struct rlimit *const rlim_stack)
{
if (current->personality & ADDR_COMPAT_LAYOUT)
return 1;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 1c18b89c2d28..d12550ae9814 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -986,7 +986,7 @@ static inline bool vma_is_shmem(const struct vm_area_struct *vma) { return false
static inline bool vma_is_anon_shmem(const struct vm_area_struct *vma) { return false; }
#endif
-int vma_is_stack_for_current(struct vm_area_struct *vma);
+int vma_is_stack_for_current(const struct vm_area_struct *vma);
/* flush_tlb_range() takes a vma, not a mm, and can care about flags */
#define TLB_FLUSH_VMA(mm,flags) { .vm_mm = (mm), .vm_flags = (flags) }
@@ -2585,7 +2585,7 @@ void folio_add_pin(struct folio *folio);
int account_locked_vm(struct mm_struct *mm, unsigned long pages, bool inc);
int __account_locked_vm(struct mm_struct *mm, unsigned long pages, bool inc,
- struct task_struct *task, bool bypass_rlim);
+ const struct task_struct *task, bool bypass_rlim);
struct kvec;
struct page *get_dump_page(unsigned long addr, int *locked);
@@ -3348,7 +3348,7 @@ void anon_vma_interval_tree_verify(struct anon_vma_chain *node);
avc; avc = anon_vma_interval_tree_iter_next(avc, start, last))
/* mmap.c */
-extern int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin);
+extern int __vm_enough_memory(const struct mm_struct *mm, long pages, int cap_sys_admin);
extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
extern void exit_mmap(struct mm_struct *);
bool mmap_read_lock_maybe_expand(struct mm_struct *mm, struct vm_area_struct *vma,
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index d1244e7dcf0e..37a05de82140 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -549,7 +549,7 @@ static inline void filemap_nr_thps_dec(struct address_space *mapping)
#endif
}
-struct address_space *folio_mapping(struct folio *);
+struct address_space *folio_mapping(const struct folio *folio);
/**
* folio_flush_mapping - Find the file mapping this folio belongs to.
diff --git a/mm/util.c b/mm/util.c
index d235b74f7aff..f5a35efba7bf 100644
--- a/mm/util.c
+++ b/mm/util.c
@@ -315,7 +315,7 @@ void *memdup_user_nul(const void __user *src, size_t len)
EXPORT_SYMBOL(memdup_user_nul);
/* Check if the vma is being used as a stack by this task */
-int vma_is_stack_for_current(struct vm_area_struct *vma)
+int vma_is_stack_for_current(const struct vm_area_struct *const vma)
{
struct task_struct * __maybe_unused t = current;
@@ -410,7 +410,7 @@ unsigned long arch_mmap_rnd(void)
return rnd << PAGE_SHIFT;
}
-static int mmap_is_legacy(struct rlimit *rlim_stack)
+static int mmap_is_legacy(const struct rlimit *const rlim_stack)
{
if (current->personality & ADDR_COMPAT_LAYOUT)
return 1;
@@ -504,7 +504,7 @@ EXPORT_SYMBOL_IF_KUNIT(arch_pick_mmap_layout);
* * -ENOMEM if RLIMIT_MEMLOCK would be exceeded.
*/
int __account_locked_vm(struct mm_struct *mm, unsigned long pages, bool inc,
- struct task_struct *task, bool bypass_rlim)
+ const struct task_struct *const task, const bool bypass_rlim)
{
unsigned long locked_vm, limit;
int ret = 0;
@@ -688,7 +688,7 @@ struct anon_vma *folio_anon_vma(const struct folio *folio)
* You can call this for folios which aren't in the swap cache or page
* cache and it will return NULL.
*/
-struct address_space *folio_mapping(struct folio *folio)
+struct address_space *folio_mapping(const struct folio *const folio)
{
struct address_space *mapping;
@@ -926,7 +926,8 @@ EXPORT_SYMBOL_GPL(vm_memory_committed);
* Note this is a helper function intended to be used by LSMs which
* wish to use this logic.
*/
-int __vm_enough_memory(struct mm_struct *mm, long pages, int cap_sys_admin)
+int __vm_enough_memory(const struct mm_struct *const mm,
+ const long pages, const int cap_sys_admin)
{
long allowed;
unsigned long bytes_failed;
--
2.47.2
next prev parent reply other threads:[~2025-08-31 9:39 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Max Kellermann [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250831093918.2815332-7-max.kellermann@ionos.com \
--to=max.kellermann@ionos.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=axelrasmussen@google.com \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
--cc=vishal.moola@gmail.com \
--cc=willy@infradead.org \
--cc=yuanchu@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.