[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