[2/3] drivers/base/cpu: crash data showing should depends on KEXEC_CORE

Message ID 20231123073652.507034-3-bhe@redhat.com
State New
Headers
Series kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP |

Commit Message

Baoquan He Nov. 23, 2023, 7:36 a.m. UTC
  When below kernel config items 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.

Signed-off-by: Baoquan He <bhe@redhat.com>
---
 drivers/base/cpu.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Ignat Korchagin Nov. 23, 2023, 8:34 a.m. UTC | #1
On Thu, Nov 23, 2023 at 7:37 AM Baoquan He <bhe@redhat.com> wrote:
>
> When below kernel config items 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.

Can we add Fixes/CC stable, so it gets eventually backported into 6.6?

> 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
>
  
Baoquan He Nov. 23, 2023, 11:15 a.m. UTC | #2
On 11/23/23 at 08:34am, Ignat Korchagin wrote:
> On Thu, Nov 23, 2023 at 7:37 AM Baoquan He <bhe@redhat.com> wrote:
> >
> > When below kernel config items 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.
> 
> Can we add Fixes/CC stable, so it gets eventually backported into 6.6?

Makes sense. Will add it in v2 since I need respin to add the missing
stuff in patch 1. Thanks.

> 
> > 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
> >
>
  
Alexander Gordeev Nov. 23, 2023, 2:13 p.m. UTC | #3
On Thu, Nov 23, 2023 at 03:36:51PM +0800, Baoquan He wrote:
> When below kernel config items 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.

If this error introduced with the prevous patch?
If so, the patches need to be swapped I guess.

> Signed-off-by: Baoquan He <bhe@redhat.com>
  
Baoquan He Nov. 23, 2023, 2:27 p.m. UTC | #4
On 11/23/23 at 03:13pm, Alexander Gordeev wrote:
> On Thu, Nov 23, 2023 at 03:36:51PM +0800, Baoquan He wrote:
> > When below kernel config items 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.
> 
> If this error introduced with the prevous patch?
> If so, the patches need to be swapped I guess.

From the phenomenon, yes. In fact it's the patch 1 which exposes
the wrong ifdeffery. I can shift the order in v2. Thanks.

> 
> > Signed-off-by: Baoquan He <bhe@redhat.com>
>
  
Andrew Morton Nov. 24, 2023, 4:44 p.m. UTC | #5
On Thu, 23 Nov 2023 19:15:43 +0800 Baoquan He <bhe@redhat.com> wrote:

> > > 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.
> > 
> > Can we add Fixes/CC stable, so it gets eventually backported into 6.6?
> 
> Makes sense. Will add it in v2 since I need respin to add the missing
> stuff in patch 1. Thanks.

Please avoid mixing cc:stable patches and this-merge-window fixes in
the same series as next-merge-window material.  Because I'll just have
to separate them out anyway, causing what-I-merged to unnecessarily
differ from what-you-sent.
  
Baoquan He Nov. 25, 2023, 2:29 a.m. UTC | #6
On 11/24/23 at 08:44am, Andrew Morton wrote:
> On Thu, 23 Nov 2023 19:15:43 +0800 Baoquan He <bhe@redhat.com> wrote:
> 
> > > > 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.
> > > 
> > > Can we add Fixes/CC stable, so it gets eventually backported into 6.6?
> > 
> > Makes sense. Will add it in v2 since I need respin to add the missing
> > stuff in patch 1. Thanks.
> 
> Please avoid mixing cc:stable patches and this-merge-window fixes in
> the same series as next-merge-window material.  Because I'll just have
> to separate them out anyway, causing what-I-merged to unnecessarily
> differ from what-you-sent.

Got it, will send them separately because the issue that this patch is fixing
has been there for very long time. Thanks for noticing.
  

Patch

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