[PATCH] crash: Default to CRASH_DUMP=n when support for it is unlikely
Baoquan He
bhe at redhat.com
Thu Aug 29 23:35:28 PDT 2024
On 08/23/24 at 08:51am, Dave Vasilevsky wrote:
> Fixes boot failures on 6.9 on PPC_BOOK3S_32 machines using
> Open Firmware. On these machines, the kernel refuses to boot
> from non-zero PHYSICAL_START, which occurs when CRASH_DUMP is on.
>
> Since most PPC_BOOK3S_32 machines boot via Open Firmware, it should
> default to off for them. Users booting via some other mechanism
> can still turn it on explicitly.
>
> Also defaults to CRASH_DUMP=n on sh.
The overrall looks good to me except of the CRASH_DUMP=n on sh, do you
have a comment about the reasoning since you have discussed with John?
Is it because of below config items?
arch/sh/Kconfig:
config ARCH_SUPPORTS_CRASH_DUMP
def_bool BROKEN_ON_SMP
...
config PHYSICAL_START
hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
default MEMORY_START
...
>
> Signed-off-by: Dave Vasilevsky <dave at vasilevsky.ca>
> Reported-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
> Closes: https://lists.debian.org/debian-powerpc/2024/07/msg00001.html
> Fixes: 75bc255a7444 ("crash: clean up kdump related config items")
> ---
> arch/arm/Kconfig | 3 +++
> arch/arm64/Kconfig | 3 +++
> arch/loongarch/Kconfig | 3 +++
> arch/mips/Kconfig | 3 +++
> arch/powerpc/Kconfig | 4 ++++
> arch/riscv/Kconfig | 3 +++
> arch/s390/Kconfig | 3 +++
> arch/sh/Kconfig | 3 +++
> arch/x86/Kconfig | 3 +++
> kernel/Kconfig.kexec | 2 +-
> 10 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 54b2bb817a7f..200995052690 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1597,6 +1597,9 @@ config ATAGS_PROC
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool y
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config AUTO_ZRELADDR
> bool "Auto calculation of the decompressed kernel image address" if !ARCH_MULTIPLATFORM
> default !(ARCH_FOOTBRIDGE || ARCH_RPC || ARCH_SA1100)
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index a2f8ff354ca6..43e08cc8204f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -1558,6 +1558,9 @@ config ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool y
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION
> def_bool CRASH_RESERVE
>
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index 70f169210b52..ce232ddcd27d 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -599,6 +599,9 @@ config ARCH_SUPPORTS_KEXEC
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool y
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config ARCH_SELECTS_CRASH_DUMP
> def_bool y
> depends on CRASH_DUMP
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 60077e576935..b547f4304d0c 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -2881,6 +2881,9 @@ config ARCH_SUPPORTS_KEXEC
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool y
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config PHYSICAL_START
> hex "Physical address where the kernel is loaded"
> default "0xffffffff84000000"
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index d7b09b064a8a..0f3c1f958eac 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -682,6 +682,10 @@ config RELOCATABLE_TEST
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool PPC64 || PPC_BOOK3S_32 || PPC_85xx || (44x && !SMP)
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + bool
> + default y if !PPC_BOOK3S_32
> +
> config ARCH_SELECTS_CRASH_DUMP
> def_bool y
> depends on CRASH_DUMP
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 0f3cd7c3a436..eb247b5ee569 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -880,6 +880,9 @@ config ARCH_SUPPORTS_KEXEC_PURGATORY
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool y
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION
> def_bool CRASH_RESERVE
>
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index a822f952f64a..05a1fb408471 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -275,6 +275,9 @@ config ARCH_SUPPORTS_CRASH_DUMP
> This option also enables s390 zfcpdump.
> See also <file:Documentation/arch/s390/zfcpdump.rst>
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> menu "Processor type and features"
>
> config HAVE_MARCH_Z10_FEATURES
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 1aa3c4a0c5b2..b04cfa23378c 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -549,6 +549,9 @@ config ARCH_SUPPORTS_KEXEC
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool BROKEN_ON_SMP
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool n
> +
> config ARCH_SUPPORTS_KEXEC_JUMP
> def_bool y
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 007bab9f2a0e..aa4666bb9e9c 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2087,6 +2087,9 @@ config ARCH_SUPPORTS_KEXEC_JUMP
> config ARCH_SUPPORTS_CRASH_DUMP
> def_bool X86_64 || (X86_32 && HIGHMEM)
>
> +config ARCH_DEFAULT_CRASH_DUMP
> + def_bool y
> +
> config ARCH_SUPPORTS_CRASH_HOTPLUG
> def_bool y
>
> diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec
> index 6c34e63c88ff..4d111f871951 100644
> --- a/kernel/Kconfig.kexec
> +++ b/kernel/Kconfig.kexec
> @@ -97,7 +97,7 @@ config KEXEC_JUMP
>
> config CRASH_DUMP
> bool "kernel crash dumps"
> - default y
> + default ARCH_DEFAULT_CRASH_DUMP
> depends on ARCH_SUPPORTS_CRASH_DUMP
> depends on KEXEC_CORE
> select VMCORE_INFO
> --
> 2.34.1
>
More information about the kexec
mailing list