* [folded-merged] mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level-fix.patch removed from -mm tree
@ 2025-09-13 22:11 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2025-09-13 22:11 UTC (permalink / raw)
To: mm-commits, lorenzo.stoakes, david, nathan, akpm
The quilt patch titled
Subject: mm/rmap: always inline __folio_rmap_sanity_checks()
has been removed from the -mm tree. Its filename was
mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level-fix.patch
This patch was dropped because it was folded into mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level.patch
------------------------------------------------------
From: Nathan Chancellor <nathan@kernel.org>
Subject: mm/rmap: always inline __folio_rmap_sanity_checks()
Date: Thu, 14 Aug 2025 13:05:22 -0700
Commit 5e901e249ad1 ("mm/rmap: convert "enum rmap_level" to "enum
pgtable_level"") changed VM_WARN_ON_ONCE, a run time warning, into
BUILD_BUG, a compile time error. After this adjustment, certain builds
with older versions of clang (such as arm64 allmodconfig) started
failing to build with:
In file included from mm/rmap.c:63:
In file included from include/linux/ksm.h:14:
include/linux/rmap.h:440:3: error: call to __compiletime_assert_890 declared with 'error' attribute: BUILD_BUG failed
BUILD_BUG();
^
...
<scratch space>:21:1: note: expanded from here
__compiletime_assert_890
^
While __folio_rmap_sanity_checks() is marked 'inline', the compiler may
not always honor it, such as when sanitizers or other instrumentation is
enabled. If __folio_rmap_sanity_checks() is not inlined, there is no
way the compiler can eliminate the default cause.
Mark __folio_rmap_sanity_checks() as __always_inline to allow the
BUILD_BUG() to work consistently, which clears up the error.
Link: https://lkml.kernel.org/r/20250814-rmap-fix-build_bug-conversion-v1-1-fb7b10a0b362@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/rmap.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/include/linux/rmap.h~mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level-fix
+++ a/include/linux/rmap.h
@@ -394,7 +394,7 @@ typedef int __bitwise rmap_t;
/* The anonymous (sub)page is exclusive to a single process. */
#define RMAP_EXCLUSIVE ((__force rmap_t)BIT(0))
-static inline void __folio_rmap_sanity_checks(const struct folio *folio,
+static __always_inline void __folio_rmap_sanity_checks(const struct folio *folio,
const struct page *page, int nr_pages, enum pgtable_level level)
{
/* hugetlb folios are handled separately. */
_
Patches currently in -mm which might be from nathan@kernel.org are
mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-09-13 22:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-13 22:11 [folded-merged] mm-rmap-convert-enum-rmap_level-to-enum-pgtable_level-fix.patch removed from -mm tree Andrew Morton
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.