[PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP

Ignat Korchagin posted 1 patch 2 years ago
kernel/Kconfig.kexec | 1 -
1 file changed, 1 deletion(-)
[PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP
Posted by Ignat Korchagin 2 years ago
In commit f8ff23429c62 ("kernel/Kconfig.kexec: drop select of KEXEC for
CRASH_DUMP") we tried to fix a config regression, where CONFIG_CRASH_DUMP
required CONFIG_KEXEC.

However, it was not enough at least for arm64 platforms. While further testing
the patch with our arm64 config I noticed that CONFIG_CRASH_DUMP is unavailable
in menuconfig. This is because CONFIG_CRASH_DUMP still depends on the new
CONFIG_ARCH_SUPPORTS_KEXEC introduced in commit 91506f7e5d21 ("arm64/kexec:
refactor for kernel/Kconfig.kexec") and on arm64 CONFIG_ARCH_SUPPORTS_KEXEC
requires CONFIG_PM_SLEEP_SMP=y, which in turn requires either CONFIG_SUSPEND=y
or CONFIG_HIBERNATION=y neither of which are set in our config.

Given that we already established that CONFIG_KEXEC (which is a switch for kexec
system call itself) is not required for CONFIG_CRASH_DUMP drop
CONFIG_ARCH_SUPPORTS_KEXEC dependency as well. The arm64 kernel builds just fine
with CONFIG_CRASH_DUMP=y and with both CONFIG_KEXEC=n and CONFIG_KEXEC_FILE=n
after f8ff23429c62 ("kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP")
and this patch are applied given that the necessary shared bits are included via
CONFIG_KEXEC_CORE dependency.

Fixes: 91506f7e5d21 ("arm64/kexec: refactor for kernel/Kconfig.kexec")
Cc: stable@vger.kernel.org # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
Cc: stable@vger.kernel.org # 6.6+
Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
---
 kernel/Kconfig.kexec | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec
index fc38f1ae3a30..946dffa048b7 100644
--- a/kernel/Kconfig.kexec
+++ b/kernel/Kconfig.kexec
@@ -96,7 +96,6 @@ config KEXEC_JUMP
 config CRASH_DUMP
 	bool "kernel crash dumps"
 	depends on ARCH_SUPPORTS_CRASH_DUMP
-	depends on ARCH_SUPPORTS_KEXEC
 	select CRASH_CORE
 	select KEXEC_CORE
 	help
-- 
2.39.2
Re: [PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP
Posted by Baoquan He 2 years ago
On 11/29/23 at 10:04pm, Ignat Korchagin wrote:
> In commit f8ff23429c62 ("kernel/Kconfig.kexec: drop select of KEXEC for
> CRASH_DUMP") we tried to fix a config regression, where CONFIG_CRASH_DUMP
> required CONFIG_KEXEC.
> 
> However, it was not enough at least for arm64 platforms. While further testing
> the patch with our arm64 config I noticed that CONFIG_CRASH_DUMP is unavailable
> in menuconfig. This is because CONFIG_CRASH_DUMP still depends on the new
> CONFIG_ARCH_SUPPORTS_KEXEC introduced in commit 91506f7e5d21 ("arm64/kexec:
> refactor for kernel/Kconfig.kexec") and on arm64 CONFIG_ARCH_SUPPORTS_KEXEC
> requires CONFIG_PM_SLEEP_SMP=y, which in turn requires either CONFIG_SUSPEND=y
> or CONFIG_HIBERNATION=y neither of which are set in our config.
> 
> Given that we already established that CONFIG_KEXEC (which is a switch for kexec
> system call itself) is not required for CONFIG_CRASH_DUMP drop
> CONFIG_ARCH_SUPPORTS_KEXEC dependency as well. The arm64 kernel builds just fine
> with CONFIG_CRASH_DUMP=y and with both CONFIG_KEXEC=n and CONFIG_KEXEC_FILE=n
> after f8ff23429c62 ("kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP")
> and this patch are applied given that the necessary shared bits are included via
> CONFIG_KEXEC_CORE dependency.
> 
> Fixes: 91506f7e5d21 ("arm64/kexec: refactor for kernel/Kconfig.kexec")
> Cc: stable@vger.kernel.org # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
> Cc: stable@vger.kernel.org # 6.6+
> Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
> ---
>  kernel/Kconfig.kexec | 1 -
>  1 file changed, 1 deletion(-)

This is a good catch, thanks.

Acked-by: Baoquan He <bhe@redhat.com>

> 
> diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec
> index fc38f1ae3a30..946dffa048b7 100644
> --- a/kernel/Kconfig.kexec
> +++ b/kernel/Kconfig.kexec
> @@ -96,7 +96,6 @@ config KEXEC_JUMP
>  config CRASH_DUMP
>  	bool "kernel crash dumps"
>  	depends on ARCH_SUPPORTS_CRASH_DUMP
> -	depends on ARCH_SUPPORTS_KEXEC
>  	select CRASH_CORE
>  	select KEXEC_CORE
>  	help
> -- 
> 2.39.2
>
Re: [PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP
Posted by Andrew Morton 2 years ago
On Wed, 29 Nov 2023 22:04:09 +0000 Ignat Korchagin <ignat@cloudflare.com> wrote:

> Fixes: 91506f7e5d21 ("arm64/kexec: refactor for kernel/Kconfig.kexec")
> Cc: stable@vger.kernel.org # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
> Cc: stable@vger.kernel.org # 6.6+

I doubt if anyone knows what the two above lines mean.  What are your
recommendations for the merging of this patch?

> Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
Re: [PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP
Posted by Ignat Korchagin 2 years ago
On Wed, Nov 29, 2023 at 10:23 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> On Wed, 29 Nov 2023 22:04:09 +0000 Ignat Korchagin <ignat@cloudflare.com> wrote:
>
> > Fixes: 91506f7e5d21 ("arm64/kexec: refactor for kernel/Kconfig.kexec")
> > Cc: stable@vger.kernel.org # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
> > Cc: stable@vger.kernel.org # 6.6+
>
> I doubt if anyone knows what the two above lines mean.  What are your
> recommendations for the merging of this patch?

Hmm... I was just following
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#option-1
and basically wanted to make sure that this patch gets backported
together with commit f8ff234: kernel/Kconfig.kexec: drop select of
KEXEC for CRASH_DUMP (they should go together)

> > Signed-off-by: Ignat Korchagin <ignat@cloudflare.com>
>
Re: [PATCH] kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP
Posted by Andrew Morton 2 years ago
On Wed, 29 Nov 2023 22:34:13 +0000 Ignat Korchagin <ignat@cloudflare.com> wrote:

> On Wed, Nov 29, 2023 at 10:23 PM Andrew Morton
> <akpm@linux-foundation.org> wrote:
> >
> > On Wed, 29 Nov 2023 22:04:09 +0000 Ignat Korchagin <ignat@cloudflare.com> wrote:
> >
> > > Fixes: 91506f7e5d21 ("arm64/kexec: refactor for kernel/Kconfig.kexec")
> > > Cc: stable@vger.kernel.org # 6.6+: f8ff234: kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP
> > > Cc: stable@vger.kernel.org # 6.6+
> >
> > I doubt if anyone knows what the two above lines mean.  What are your
> > recommendations for the merging of this patch?
> 
> Hmm... I was just following
> https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#option-1
> and basically wanted to make sure that this patch gets backported
> together with commit f8ff234: kernel/Kconfig.kexec: drop select of
> KEXEC for CRASH_DUMP (they should go together)

I see, thanks.  I don't think I've ever received a patch which did this!