[RFC V2 0/6] mm: Drop pxd_ERROR()
From: Anshuman Khandual <hidden>
Date: 2026-08-11 04:21:31
Also in:
linux-alpha, linux-arch, linux-arm-kernel, linux-m68k, linux-mips, linux-mm, linux-riscv, linux-s390, linux-sh, linux-um, lkml, loongarch, sparclinux
pxd_ERROR() macros have been provided by all platforms, which are very much identical and can be dropped off completely if these pgtable printing could be moved to callers in generic MM aka all pxd_clear_bad(). But first cleanups and re-organizations are required in some platforms that are using these macros internally. Afterwards [pte|pmd|pud|p4d|pgd]_ERROR() macros have been completely dropped from the entire tree. This series is based on v7.2-rc7 after the following patch. This has also been built tested on multiple platforms. https://lore.kernel.org/all/20260709044334.1741263-1-anshuman.khandual@arm.com/ (local) Changes in RFC V2: - Added clean up patches for platforms with existing pxd_ERROR() usage - Dropped __FILE__ and __LINE__ from all pgtable entry printing Changes in RFC V1: https://lore.kernel.org/all/20260806080639.1916749-1-anshuman.khandual@arm.com/ (local) Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> Cc: Helge Deller <deller@gmx.de> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: WANG Xuerui <kernel@xen0n.name> Cc: linux-alpha@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-csky@vger.kernel.org Cc: linux-hexagon@vger.kernel.org Cc: loongarch@lists.linux.dev Cc: linux-m68k@lists.linux-m68k.org Cc: linux-mips@vger.kernel.org Cc: linux-openrisc@vger.kernel.org Cc: linux-parisc@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Cc: linux-sh@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: linux-um@lists.infradead.org Cc: linux-arch@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Anshuman Khandual (6): loongarch/mm: Stop using pte_ERROR() parisc/mm: Directly use generic [pmd|pgd]_clear_bad() sh/mm: Stop using pte_ERROR() sh/mm: Stop using [p4d|pud|pmd]_ERROR() sh/mm: Stop using pgd_ERROR() mm: Drop pxd_ERROR() arch/alpha/include/asm/pgtable.h | 7 ---- arch/arc/include/asm/pgtable-levels.h | 11 ----- arch/arm/include/asm/pgtable.h | 7 ---- arch/arm/kernel/traps.c | 17 -------- arch/arm64/include/asm/pgtable.h | 15 ------- arch/csky/include/asm/pgtable.h | 4 -- arch/hexagon/include/asm/pgtable.h | 3 -- arch/loongarch/include/asm/pgtable.h | 13 ------ arch/loongarch/mm/init.c | 2 +- arch/m68k/include/asm/mcf_pgtable.h | 6 --- arch/m68k/include/asm/motorola_pgtable.h | 8 ---- arch/m68k/include/asm/sun3_pgtable.h | 7 ---- arch/microblaze/include/asm/pgtable.h | 7 ---- arch/mips/include/asm/pgtable-32.h | 10 ----- arch/mips/include/asm/pgtable-64.h | 13 ------ arch/nios2/include/asm/pgtable.h | 7 ---- arch/openrisc/include/asm/pgtable.h | 7 ---- arch/parisc/include/asm/pgtable.h | 9 ---- arch/parisc/kernel/pci-dma.c | 6 +-- arch/powerpc/include/asm/book3s/32/pgtable.h | 2 - arch/powerpc/include/asm/book3s/64/pgtable.h | 7 ---- arch/powerpc/include/asm/nohash/32/pgtable.h | 2 - .../include/asm/nohash/64/pgtable-4k.h | 3 -- arch/powerpc/include/asm/nohash/64/pgtable.h | 5 --- arch/riscv/include/asm/pgtable-64.h | 9 ---- arch/riscv/include/asm/pgtable.h | 4 -- arch/s390/include/asm/pgtable.h | 11 ----- arch/sh/include/asm/pgtable-3level.h | 3 -- arch/sh/include/asm/pgtable_32.h | 13 ------ arch/sh/mm/init.c | 27 ++++++------ arch/sparc/include/asm/pgtable_32.h | 3 -- arch/sparc/include/asm/pgtable_64.h | 10 ----- arch/um/include/asm/pgtable-2level.h | 7 ---- arch/um/include/asm/pgtable-4level.h | 13 ------ arch/x86/include/asm/pgtable-2level.h | 5 --- arch/x86/include/asm/pgtable-3level.h | 11 ----- arch/x86/include/asm/pgtable_64.h | 18 -------- arch/xtensa/include/asm/pgtable.h | 4 -- include/asm-generic/pgtable-nop4d.h | 1 - include/asm-generic/pgtable-nopmd.h | 1 - include/asm-generic/pgtable-nopud.h | 1 - include/linux/mm_types.h | 41 +++++++++++++++++++ mm/memory.c | 41 +------------------ mm/pgtable-generic.c | 21 ++++++++-- 44 files changed, 76 insertions(+), 346 deletions(-) -- 2.43.0