Re: [RFC V3 8/8] mm: Drop pxd_ERROR()

From: Samuel Holland

Date: Mon Aug 24 2026 - 11:50:54 EST


On 2026-08-17 11:00 PM, Anshuman Khandual wrote:
> There are no more users left for any pxd_ERROR() either in generic MM or in
> the platform MM. Hence all these platform macros along with their generic
> fallback could be dropped across the tree.
>
> Cc: linux-alpha@xxxxxxxxxxxxxxx
> Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-csky@xxxxxxxxxxxxxxx
> Cc: linux-hexagon@xxxxxxxxxxxxxxx
> Cc: loongarch@xxxxxxxxxxxxxxx
> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx
> Cc: linux-mips@xxxxxxxxxxxxxxx
> Cc: linux-openrisc@xxxxxxxxxxxxxxx
> Cc: linux-parisc@xxxxxxxxxxxxxxx
> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
> Cc: linux-s390@xxxxxxxxxxxxxxx
> Cc: linux-sh@xxxxxxxxxxxxxxx
> Cc: sparclinux@xxxxxxxxxxxxxxx
> Cc: linux-um@xxxxxxxxxxxxxxxxxxx
> Cc: linux-arch@xxxxxxxxxxxxxxx
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> # m68k
> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> ---
> Changes in RFC V3
>
> - Moved ptrval_to_str() as header in a [PATCH 1/8]
> - Stopped using pxd_ERROR() in generic MM in [PATCH 2/8]
> - Dropped pxd_ERRO() macros from all platforms in this patch
>
> 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 | 11 -----------
> 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/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 --
> .../powerpc/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 | 8 --------
> 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 -
> 38 files changed, 277 deletions(-)
> ...
> diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
> index 5d5756bda82e..993a6505eb8f 100644
> --- a/arch/riscv/include/asm/pgtable.h
> +++ b/arch/riscv/include/asm/pgtable.h
> @@ -559,10 +559,6 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
> return __pte((pte_val(pte) & _PAGE_CHG_MASK) | newprot_val);
> }
>
> -#define pgd_ERROR(e) \
> - pr_err("%s:%d: bad pgd " PTE_FMT ".\n", __FILE__, __LINE__, pgd_val(e))

We can drop the PTE_FMT macro now too.

Regards,
Samuel