mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE
@ 2023-11-28  5:52 Baoquan He
  2023-11-28 11:51 ` Ignat Korchagin
  2023-11-28 13:34 ` Alexander Gordeev
  0 siblings, 2 replies; 3+ messages in thread
From: Baoquan He @ 2023-11-28  5:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: kexec, x86, akpm, eric_devolder, ignat, agordeev, Baoquan He

After commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs
attributes"), on x86_64, if only below kernel configs related to kdump
are set, compiling error are triggered.

----
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
------

------------------------------------------------------
drivers/base/cpu.c: In function ‘crash_hotplug_show’:
drivers/base/cpu.c:309:40: error: implicit declaration of function ‘crash_hotplug_cpu_support’; did you mean ‘crash_hotplug_show’? [-Werror=implicit-function-declaration]
  309 |         return sysfs_emit(buf, "%d\n", crash_hotplug_cpu_support());
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        crash_hotplug_show
cc1: some warnings being treated as errors
------------------------------------------------------

CONFIG_KEXEC is used to enable kexec_load interface, the
crash_notes/crash_notes_size/crash_hotplug showing depends on
CONFIG_KEXEC is incorrect. It should depend on KEXEC_CORE instead.

Fix it now.

Fixes: commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs attributes")
Signed-off-by: Baoquan He <bhe@redhat.com>
---
 drivers/base/cpu.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 9ea22e165acd..548491de818e 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -144,7 +144,7 @@ static DEVICE_ATTR(release, S_IWUSR, NULL, cpu_release_store);
 #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
 #endif /* CONFIG_HOTPLUG_CPU */
 
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 #include <linux/kexec.h>
 
 static ssize_t crash_notes_show(struct device *dev,
@@ -189,14 +189,14 @@ static const struct attribute_group crash_note_cpu_attr_group = {
 #endif
 
 static const struct attribute_group *common_cpu_attr_groups[] = {
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 	&crash_note_cpu_attr_group,
 #endif
 	NULL
 };
 
 static const struct attribute_group *hotplugable_cpu_attr_groups[] = {
-#ifdef CONFIG_KEXEC
+#ifdef CONFIG_KEXEC_CORE
 	&crash_note_cpu_attr_group,
 #endif
 	NULL
-- 
2.41.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE
  2023-11-28  5:52 [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE Baoquan He
@ 2023-11-28 11:51 ` Ignat Korchagin
  2023-11-28 13:34 ` Alexander Gordeev
  1 sibling, 0 replies; 3+ messages in thread
From: Ignat Korchagin @ 2023-11-28 11:51 UTC (permalink / raw)
  To: Baoquan He
  Cc: linux-kernel, kexec, x86, akpm, eric_devolder, agordeev, kernel-team

On Tue, Nov 28, 2023 at 5:53 AM Baoquan He <bhe@redhat.com> wrote:
>
> After commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs
> attributes"), on x86_64, if only below kernel configs related to kdump
> are set, compiling error are triggered.
>
> ----
> CONFIG_CRASH_CORE=y
> CONFIG_KEXEC_CORE=y
> CONFIG_CRASH_DUMP=y
> CONFIG_CRASH_HOTPLUG=y
> ------
>
> ------------------------------------------------------
> drivers/base/cpu.c: In function ‘crash_hotplug_show’:
> drivers/base/cpu.c:309:40: error: implicit declaration of function ‘crash_hotplug_cpu_support’; did you mean ‘crash_hotplug_show’? [-Werror=implicit-function-declaration]
>   309 |         return sysfs_emit(buf, "%d\n", crash_hotplug_cpu_support());
>       |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
>       |                                        crash_hotplug_show
> cc1: some warnings being treated as errors
> ------------------------------------------------------
>
> CONFIG_KEXEC is used to enable kexec_load interface, the
> crash_notes/crash_notes_size/crash_hotplug showing depends on
> CONFIG_KEXEC is incorrect. It should depend on KEXEC_CORE instead.
>
> Fix it now.
>
> Fixes: commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs attributes")
> Signed-off-by: Baoquan He <bhe@redhat.com>

Tested-by: Ignat Korchagin <ignat@cloudflare.com> # compile-time only
for x86 and arm

> ---
>  drivers/base/cpu.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 9ea22e165acd..548491de818e 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -144,7 +144,7 @@ static DEVICE_ATTR(release, S_IWUSR, NULL, cpu_release_store);
>  #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
>  #endif /* CONFIG_HOTPLUG_CPU */
>
> -#ifdef CONFIG_KEXEC
> +#ifdef CONFIG_KEXEC_CORE
>  #include <linux/kexec.h>
>
>  static ssize_t crash_notes_show(struct device *dev,
> @@ -189,14 +189,14 @@ static const struct attribute_group crash_note_cpu_attr_group = {
>  #endif
>
>  static const struct attribute_group *common_cpu_attr_groups[] = {
> -#ifdef CONFIG_KEXEC
> +#ifdef CONFIG_KEXEC_CORE
>         &crash_note_cpu_attr_group,
>  #endif
>         NULL
>  };
>
>  static const struct attribute_group *hotplugable_cpu_attr_groups[] = {
> -#ifdef CONFIG_KEXEC
> +#ifdef CONFIG_KEXEC_CORE
>         &crash_note_cpu_attr_group,
>  #endif
>         NULL
> --
> 2.41.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE
  2023-11-28  5:52 [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE Baoquan He
  2023-11-28 11:51 ` Ignat Korchagin
@ 2023-11-28 13:34 ` Alexander Gordeev
  1 sibling, 0 replies; 3+ messages in thread
From: Alexander Gordeev @ 2023-11-28 13:34 UTC (permalink / raw)
  To: Baoquan He; +Cc: linux-kernel, kexec, x86, akpm, eric_devolder, ignat

On Tue, Nov 28, 2023 at 01:52:48PM +0800, Baoquan He wrote:
> After commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs
> attributes"), on x86_64, if only below kernel configs related to kdump
> are set, compiling error are triggered.
> 
> ----
> CONFIG_CRASH_CORE=y
> CONFIG_KEXEC_CORE=y
> CONFIG_CRASH_DUMP=y
> CONFIG_CRASH_HOTPLUG=y
> ------
> 
> ------------------------------------------------------
> drivers/base/cpu.c: In function ‘crash_hotplug_show’:
> drivers/base/cpu.c:309:40: error: implicit declaration of function ‘crash_hotplug_cpu_support’; did you mean ‘crash_hotplug_show’? [-Werror=implicit-function-declaration]
>   309 |         return sysfs_emit(buf, "%d\n", crash_hotplug_cpu_support());
>       |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~
>       |                                        crash_hotplug_show
> cc1: some warnings being treated as errors
> ------------------------------------------------------
> 
> CONFIG_KEXEC is used to enable kexec_load interface, the
> crash_notes/crash_notes_size/crash_hotplug showing depends on
> CONFIG_KEXEC is incorrect. It should depend on KEXEC_CORE instead.
> 
> Fix it now.
> 
> Fixes: commit 88a6f8994421 ("crash: memory and CPU hotplug sysfs attributes")
> Signed-off-by: Baoquan He <bhe@redhat.com>
> ---
>  drivers/base/cpu.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Not implemented on s390, but still:
Tested-by: Alexander Gordeev <agordeev@linux.ibm.com>

Thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-28 13:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-28  5:52 [PATCH v2] drivers/base/cpu: crash data showing should depends on KEXEC_CORE Baoquan He
2023-11-28 11:51 ` Ignat Korchagin
2023-11-28 13:34 ` Alexander Gordeev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®