From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AA738134BD for ; Wed, 3 Sep 2025 00:25:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756859110; cv=none; b=VRI3vHpvZ68KlRWLej3jv2MpYrcoxyp5x3b7EUJjwhOveMEhUsueM62O1KvNjYGD0uBmTAdeIPgy9LywpW3y4CrOcXQ8/yC5azP/7iuJpN0Nnl4a3YHT2162ulW8Jc5kP64LwkGJQaWP4gxAR9zTY/7e8SrapSgm+A6Q+4JsrHs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756859110; c=relaxed/simple; bh=KxnYHeQLT7HyKR4NHCh2Y8XWINv+ErEI1zKC2/Ol3Y0=; h=Date:To:From:Subject:Message-Id; b=aYlC/gZG/bf4rzKACd4ChzjXLjSoFXtzZRssU95M8Hcki/Smua7gUQfzo9ow4H3q9mug62ZA66Ns7KIQ10LM3UusfPNpEABBeEmNMZdhmjXieM3V1TJPcB2u8LsjCwLQxcS/glsIzdA8ifuC+lhBdg3IZHPPKOgVIw/fDRLyDO8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=P2dSk1IX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="P2dSk1IX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3259DC4CEED; Wed, 3 Sep 2025 00:25:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1756859110; bh=KxnYHeQLT7HyKR4NHCh2Y8XWINv+ErEI1zKC2/Ol3Y0=; h=Date:To:From:Subject:From; b=P2dSk1IX8DF7dHP2fPr5MW23jP3BgsWBGtr7HfvdtyjKJ7KN5gSCyNiN5AdGlZ5yA 44ALNFFgvB0Nn2sva4Lg1XukH2FWLx7rItquNm1R071KYytIpqiaofrrnAWeVefMbw asY9SmtAW3tEMLdC0Od8fZLPNw80N7UMKdEoHkt8= Date: Tue, 02 Sep 2025 17:25:09 -0700 To: mm-commits@vger.kernel.org,yuanchu@google.com,willy@infradead.org,weixugc@google.com,vishal.moola@gmail.com,viro@zeniv.linux.org.uk,vbabka@suse.cz,thuth@redhat.com,tglx@linutronix.de,svens@linux.ibm.com,surenb@google.com,shakeel.butt@linux.dev,rppt@kernel.org,rientjes@google.com,peterz@infradead.org,osalvador@suse.de,nysal@linux.ibm.com,mpe@ellerman.id.au,mingo@redhat.com,mhocko@suse.com,luto@kernel.org,lorenzo.stoakes@oracle.com,linux@armlinux.org.uk,liam.howlett@oracle.com,jfalempe@redhat.com,jcmvbkbc@gmail.com,james.bottomley@HansenPartnership.com,jack@suse.cz,hughd@google.com,hpa@zytor.com,hca@linux.ibm.com,gor@linux.ibm.com,gerald.schaefer@linux.ibm.com,deller@gmx.de,david@redhat.com,davem@davemloft.net,chris@zankel.net,broonie@kernel.org,brauner@kernel.org,bp@alien8.de,borntraeger@linux.ibm.com,baolin.wang@linux.alibaba.com,axelrasmussen@google.com,andreas@gaisler.com,agordeev@linux.ibm.com,max.kellermann@ionos.com,akpm@linux-foundation.org From: Andrew Morton Subject: + mm-constify-shmem-related-test-functions-for-improved-const-correctness.patch added to mm-new branch Message-Id: <20250903002510.3259DC4CEED@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: mm: constify shmem related test functions for improved const-correctness has been added to the -mm mm-new branch. Its filename is mm-constify-shmem-related-test-functions-for-improved-const-correctness.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-constify-shmem-related-test-functions-for-improved-const-correctness.patch This patch will later appear in the mm-new branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Note, mm-new is a provisional staging ground for work-in-progress patches, and acceptance into mm-new is a notification for others take notice and to finish up reviews. Please do not hesitate to respond to review feedback and post updated versions to replace or incrementally fixup patches in mm-new. Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Max Kellermann Subject: mm: constify shmem related test functions for improved const-correctness Date: Mon, 1 Sep 2025 22:50:10 +0200 Patch series "mm: establish const-correctness for pointer parameters", v6. This series is to improved const-correctness in the low-level memory-management subsystem, which provides a basis for further constification further up the call stack (e.g. filesystems). 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 pointers, even though they modify nothing. This patch (of 12): We select certain test functions which either invoke each other, functions that are already const-ified, or no further functions. It is therefore relatively trivial to const-ify them, which provides a basis for further const-ification further up the call stack. Link: https://lkml.kernel.org/r/20250901205021.3573313-1-max.kellermann@ionos.com Link: https://lkml.kernel.org/r/20250901205021.3573313-2-max.kellermann@ionos.com Signed-off-by: Max Kellermann Reviewed-by: Vishal Moola (Oracle) Reviewed-by: Lorenzo Stoakes Acked-by: David Hildenbrand Acked-by: Vlastimil Babka Acked-by: Mike Rapoport (Microsoft) Cc: Alexander Gordeev Cc: Al Viro Cc: Andreas Larsson Cc: Andy Lutomirski Cc: Axel Rasmussen Cc: Baolin Wang Cc: Borislav Betkov Cc: Christian Borntraeger Cc: Christian Brauner Cc: Christian Zankel Cc: David Rientjes Cc: David S. Miller Cc: Gerald Schaefer Cc: Heiko Carstens Cc: Helge Deller Cc: "H. Peter Anvin" Cc: Hugh Dickins Cc: Ingo Molnar Cc: James Bottomley Cc: Jan Kara Cc: Jocelyn Falempe Cc: Liam Howlett Cc: Mark Brown Cc: Matthew Wilcox (Oracle) Cc: Max Filippov Cc: Michael Ellerman Cc: Michal Hocko Cc: "Nysal Jan K.A" Cc: Oscar Salvador Cc: Peter Zijlstra Cc: Russel King Cc: Shakeel Butt Cc: Suren Baghdasaryan Cc: Sven Schnelle Cc: Thomas Gleinxer Cc: Thomas Huth Cc: Vasily Gorbik Cc: Wei Xu Cc: Yuanchu Xie Signed-off-by: Andrew Morton --- include/linux/mm.h | 8 ++++---- include/linux/shmem_fs.h | 4 ++-- mm/shmem.c | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) --- a/include/linux/mm.h~mm-constify-shmem-related-test-functions-for-improved-const-correctness +++ a/include/linux/mm.h @@ -995,11 +995,11 @@ static inline void vma_iter_set(struct v * The vma_is_shmem is not inline because it is used only by slow * paths in userfault. */ -bool vma_is_shmem(struct vm_area_struct *vma); -bool vma_is_anon_shmem(struct vm_area_struct *vma); +bool vma_is_shmem(const struct vm_area_struct *vma); +bool vma_is_anon_shmem(const struct vm_area_struct *vma); #else -static inline bool vma_is_shmem(struct vm_area_struct *vma) { return false; } -static inline bool vma_is_anon_shmem(struct vm_area_struct *vma) { return false; } +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); --- a/include/linux/shmem_fs.h~mm-constify-shmem-related-test-functions-for-improved-const-correctness +++ a/include/linux/shmem_fs.h @@ -99,9 +99,9 @@ extern unsigned long shmem_get_unmapped_ unsigned long len, unsigned long pgoff, unsigned long flags); extern int shmem_lock(struct file *file, int lock, struct ucounts *ucounts); #ifdef CONFIG_SHMEM -bool shmem_mapping(struct address_space *mapping); +bool shmem_mapping(const struct address_space *mapping); #else -static inline bool shmem_mapping(struct address_space *mapping) +static inline bool shmem_mapping(const struct address_space *mapping) { return false; } --- a/mm/shmem.c~mm-constify-shmem-related-test-functions-for-improved-const-correctness +++ a/mm/shmem.c @@ -275,18 +275,18 @@ static const struct vm_operations_struct static const struct vm_operations_struct shmem_anon_vm_ops; static struct file_system_type shmem_fs_type; -bool shmem_mapping(struct address_space *mapping) +bool shmem_mapping(const struct address_space *mapping) { return mapping->a_ops == &shmem_aops; } EXPORT_SYMBOL_GPL(shmem_mapping); -bool vma_is_anon_shmem(struct vm_area_struct *vma) +bool vma_is_anon_shmem(const struct vm_area_struct *vma) { return vma->vm_ops == &shmem_anon_vm_ops; } -bool vma_is_shmem(struct vm_area_struct *vma) +bool vma_is_shmem(const struct vm_area_struct *vma) { return vma_is_anon_shmem(vma) || vma->vm_ops == &shmem_vm_ops; } _ Patches currently in -mm which might be from max.kellermann@ionos.com are pagevech-add-const-to-pointer-parameters-of-getter-functions.patch huge_mmh-disallow-is_huge_zero_folionull.patch mm-constify-shmem-related-test-functions-for-improved-const-correctness.patch mm-constify-pagemap-related-test-getter-functions.patch mm-constify-zone-related-test-getter-functions.patch fs-constify-mapping-related-test-functions-for-improved-const-correctness.patch mm-constify-process_shares_mm-for-improved-const-correctness.patch mm-s390-constify-mapping-related-test-getter-functions.patch parisc-constify-mmap_upper_limit-parameter.patch mm-constify-arch_pick_mmap_layout-for-improved-const-correctness.patch mm-constify-ptdesc_pmd_pts_count-and-folio_get_private.patch mm-constify-various-inline-functions-for-improved-const-correctness.patch mm-constify-assert-test-functions-in-mmh.patch mm-constify-highmem-related-functions-for-improved-const-correctness.patch