[RFC PATCH 1/3] kernel/liveupdate: make KEXEC_HANDOVER depend on KEXEC_FILE instead of selecting it
Sourabh Jain
sourabhjain at linux.ibm.com
Fri Aug 21 03:56:07 PDT 2026
An upcoming patch makes ARCH_SUPPORTS_KEXEC_HANDOVER depend on
CRASH_DUMP on powerpc:
config ARCH_SUPPORTS_KEXEC_HANDOVER
def_bool y
depends on PPC64
depends on !CRASH_DUMP
That triggers a recursive dependency error:
error: recursive dependency detected!
symbol KEXEC_HANDOVER depends on ARCH_SUPPORTS_KEXEC_HANDOVER
symbol ARCH_SUPPORTS_KEXEC_HANDOVER depends on CRASH_DUMP
symbol CRASH_DUMP depends on KEXEC_CORE
symbol KEXEC_CORE is selected by KEXEC_FILE
symbol KEXEC_FILE is selected by KEXEC_HANDOVER
KEXEC_HANDOVER and KEXEC_CORE end up depending on each other when
ARCH_SUPPORTS_KEXEC_HANDOVER depends on CRASH_DUMP. This creates a
recursive Kconfig dependency.
Change KEXEC_FILE from select to depends on to break this cycle.
This means KEXEC_FILE must be enabled explicitly instead of being
enabled automatically by KEXEC_HANDOVER.
Keep this change until the powerpc-specific KHO and CRASH_DUMP
dependency is resolved.
Cc: Aditya Gupta <adityag at linux.ibm.com>
Cc: Alexander Graf <graf at amazon.com>
Cc: Andrew Morton <akpm at linux-foundation.org>
Cc: Baoquan He <baoquan.he at linux.dev>
Cc: Christophe Leroy (CS GROUP) <chleroy at kernel.org>
Cc: Hari Bathini <hbathini at linux.ibm.com>
Cc: Madhavan Srinivasan <maddy at linux.ibm.com>
Cc: Mahesh Salgaonkar <mahesh at linux.ibm.com>
Cc: Michael Ellerman <mpe at ellerman.id.au>
Cc: Mike Rapoport <rppt at kernel.org>
Cc: Nicholas Piggin <npiggin at gmail.com>
Cc: Pasha Tatashin <pasha.tatashin at soleen.com>
Cc: Pratyush Yadav <pratyush at kernel.org>
Cc: Ritesh Harjani (IBM) <ritesh.list at gmail.com>
Cc: Shivang Upadhyay <shivangu at linux.ibm.com>
Cc: Shrikanth Hegde <sshegde at linux.ibm.com>
Cc: kexec at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Signed-off-by: Sourabh Jain <sourabhjain at linux.ibm.com>
---
kernel/liveupdate/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/liveupdate/Kconfig b/kernel/liveupdate/Kconfig
index c13af38ba23a..22e317dc1e1a 100644
--- a/kernel/liveupdate/Kconfig
+++ b/kernel/liveupdate/Kconfig
@@ -6,7 +6,7 @@ config KEXEC_HANDOVER
bool "kexec handover"
depends on ARCH_SUPPORTS_KEXEC_HANDOVER && ARCH_SUPPORTS_KEXEC_FILE
select MEMBLOCK_KHO_SCRATCH
- select KEXEC_FILE
+ depends on KEXEC_FILE
select LIBFDT
select CMA
help
--
2.55.0
More information about the kexec
mailing list