Thread (4 messages) 4 messages, 4 authors, 2025-08-13

Re: [PATCH] mm: Remove pud_user() from asm-generic/pgtable-nopmd.h

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2025-08-12 16:29:24
Also in: linux-arch, linux-riscv, lkml

On Tue, Aug 12, 2025 at 01:14:19PM +0200, Christophe Leroy wrote:
quoted hunk ↗ jump to hunk
Commit 2c8a81dc0cc5 ("riscv/mm: fix two page table check related
issues") added pud_user() in include/asm-generic/pgtable-nopmd.h

But pud_user() only exists on ARM64 and RISCV and is not expected
by any part of MM.

Add the missing definition in arch/riscv/include/asm/pgtable-32.h
and remove it from asm-generic/pgtable-nopmd.h

A stub pud_user() is also required for ARM64 after
commit ed928a3402d8 ("arm64/mm: fix page table check compile
error for CONFIG_PGTABLE_LEVELS=2")

Signed-off-by: Christophe Leroy <redacted>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
---
 arch/arm64/include/asm/pgtable.h    | 1 +
 arch/riscv/include/asm/pgtable-32.h | 5 +++++
 include/asm-generic/pgtable-nopmd.h | 1 -
 3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index abd2dee416b3b..fef7cc7a340d8 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -955,6 +955,7 @@ static inline pmd_t *pud_pgtable(pud_t pud)
 
 #define pud_valid(pud)		false
 #define pud_page_paddr(pud)	({ BUILD_BUG(); 0; })
+#define pud_user		false /* Always 0 with folding */
Doesn't pud_user take an argument? With that fixed:

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

(strangely I couldn't get the build to fail without a pud_user
definition, even with the PGTABLE_LEVELS=2 and PAGE_TABLE_CHECK=y
configuration)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help