On PPC_85xx, enabling DEBUG_PAGEALLOC without STRICT_KERNEL_RWX activates the DATA_SHIFT range of 20..24, but since the PAGE_SHIFT default is outside the range (12), kconfig adjusts it to 20, causing 1mb alignment instead of 4kb. However, the larger alignment is only needed for the separate kernel permissions provided by STRICT_KERNEL_RWX.
Since PPC_85xx uses page poisoning for DEBUG_PAGEALLOC and does not support KFENCE, let's restrict this range to STRICT_KERNEL_RWX. This out-of-range default was found by kconfirm, a static analysis tool for Kconfig. Signed-off-by: Julian Braha <[email protected]> --- Changes since v1: - add range for STRICT_KERNEL_RWX=n and DEBUG_PAGEALLOC=y Link to v1: https://lore.kernel.org/all/[email protected]/ --- arch/powerpc/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index c3b6cd655606..09e6027389b2 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -896,7 +896,8 @@ config DATA_SHIFT default 24 if STRICT_KERNEL_RWX && PPC64 range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 range 14 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx - range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_85xx + range 20 24 if STRICT_KERNEL_RWX && PPC_85xx + range PAGE_SHIFT 24 if !STRICT_KERNEL_RWX && PPC_85xx default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 default 18 if (DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 default 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx && \ -- 2.55.0
