Re: [PATCH 0/5] kexec: fix the incorrect ifdeffery and dependency of CONFIG_KEXEC

From: Baoquan He
Date: Fri Dec 08 2023 - 02:43:38 EST


Forgot adding kexec to CC, add it now.

On 12/08/23 at 03:30pm, Baoquan He wrote:
> The select of KEXEC for CRASH_DUMP in kernel/Kconfig.kexec will be
> dropped, then compiling errors will be triggered if below config
> items are set:
>
> ===
> CONFIG_CRASH_CORE=y
> CONFIG_KEXEC_CORE=y
> CONFIG_CRASH_DUMP=y
> ===
>
> E.g on mips, below link error are seen:
> --------------------------------------------------------------------
> mipsel-linux-ld: kernel/kexec_core.o: in function `kimage_free':
> kernel/kexec_core.c:(.text+0x2200): undefined reference to `machine_kexec_cleanup'
> mipsel-linux-ld: kernel/kexec_core.o: in function `__crash_kexec':
> kernel/kexec_core.c:(.text+0x2480): undefined reference to `machine_crash_shutdown'
> mipsel-linux-ld: kernel/kexec_core.c:(.text+0x2488): undefined reference to `machine_kexec'
> mipsel-linux-ld: kernel/kexec_core.o: in function `kernel_kexec':
> kernel/kexec_core.c:(.text+0x29b8): undefined reference to `machine_shutdown'
> mipsel-linux-ld: kernel/kexec_core.c:(.text+0x29c0): undefined reference to `machine_kexec'
> --------------------------------------------------------------------
>
> Here, change the incorrect dependency of building kexec_core related object
> files, and the ifdeffery on architectures from CONFIG_KEXEC to
> CONFIG_KEXEC_CORE.
>
> Testing:
> ========
> Passed on mips and loognarch with the LKP reproducer.
>
> Baoquan He (5):
> loongarch, kexec: change dependency of object files
> m68k, kexec: fix the incorrect ifdeffery and build dependency of
> CONFIG_KEXEC
> mips, kexec: fix the incorrect ifdeffery and dependency of
> CONFIG_KEXEC
> sh, kexec: fix the incorrect ifdeffery and dependency of CONFIG_KEXEC
> x86, kexec: fix the wrong ifdeffery CONFIG_KEXEC
>
> arch/loongarch/kernel/Makefile | 2 +-
> arch/m68k/include/asm/kexec.h | 4 ++--
> arch/m68k/kernel/Makefile | 2 +-
> arch/mips/cavium-octeon/smp.c | 4 ++--
> arch/mips/include/asm/kexec.h | 2 +-
> arch/mips/include/asm/smp-ops.h | 2 +-
> arch/mips/include/asm/smp.h | 2 +-
> arch/mips/kernel/Makefile | 2 +-
> arch/mips/kernel/smp-bmips.c | 4 ++--
> arch/mips/kernel/smp-cps.c | 10 +++++-----
> arch/mips/loongson64/reset.c | 4 ++--
> arch/mips/loongson64/smp.c | 2 +-
> arch/sh/include/asm/kexec.h | 4 ++--
> arch/sh/kernel/Makefile | 2 +-
> arch/sh/kernel/reboot.c | 4 ++--
> arch/sh/kernel/setup.c | 2 +-
> arch/x86/boot/compressed/acpi.c | 2 +-
> 17 files changed, 27 insertions(+), 27 deletions(-)
>
> --
> 2.41.0
>