Re: [PATCH 3/4] mm: Make GENERIC_PTDUMP dependent on MMU

From: Christophe Leroy
Date: Thu Feb 13 2025 - 02:50:24 EST




Le 13/02/2025 à 05:09, Anshuman Khandual a écrit :
There is no page table dump without a MMU. Make this dependency at generic
level and drop the same from riscv platform instead.

Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx>
Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx
Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
---
arch/riscv/Kconfig | 2 +-
mm/Kconfig.debug | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 7612c52e9b1e..c4cdba6460b8 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -112,7 +112,7 @@ config RISCV
select GENERIC_IRQ_SHOW_LEVEL
select GENERIC_LIB_DEVMEM_IS_ALLOWED
select GENERIC_PCI_IOMAP
- select GENERIC_PTDUMP if MMU
+ select GENERIC_PTDUMP

Are you sure this works as expected ?

See https://docs.kernel.org/kbuild/kconfig-language.html :

Note:
select should be used with care. select will force a symbol to a value without visiting the dependencies. By abusing select you are able to select a symbol FOO even if FOO depends on BAR that is not set. In general use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies.

select GENERIC_SCHED_CLOCK
select GENERIC_SMP_IDLE_THREAD
select GENERIC_TIME_VSYSCALL if MMU && 64BIT
diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug
index a51a1149909a..c08406760d29 100644
--- a/mm/Kconfig.debug
+++ b/mm/Kconfig.debug
@@ -214,6 +214,7 @@ config DEBUG_WX
If in doubt, say "Y".
config GENERIC_PTDUMP
+ depends on MMU
bool
config PTDUMP_CORE