Message ID | 20210315120444.215905-1-heying24@huawei.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c" | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (91966823812efbd175f904599e5cf2a854b39809) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded and removed 3 sparse warnings |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded and removed 3 sparse warnings |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded and removed 1 sparse warnings |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 18 lines checked |
snowpatch_ozlabs/needsstable | success | Patch has no Fixes tags |
You subject doesn't match the content of the patch. Le 15/03/2021 à 13:04, He Ying a écrit : > The variables 'uaccess_fulsh' and 'entry_flush' are not referenced > outside the file. So define them as static to avoid the warnings. > > And add a prototype for the function 'panic_smp_self_stop' for the > same purpose. > > Sparse also warns that 'rfi_flush' should be static. However, it's > referenced outside the file. To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. > > The warnings about the file reported by sparse are as follows: > arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? > arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? > arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? > arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? > > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: He Ying <heying24@huawei.com> > --- > arch/powerpc/kernel/setup_64.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c > index 560ed8b975e7..603aacd8527b 100644 > --- a/arch/powerpc/kernel/setup_64.c > +++ b/arch/powerpc/kernel/setup_64.c > @@ -71,6 +71,8 @@ > > #include "setup.h" > > +extern void panic_smp_self_stop(void); > + For function prototypes 'extern' is unneeded and deprecated. And function prototypes should go in an header file. panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic linux header files I think. > int spinning_secondaries; > u64 ppc64_pft_size; > > @@ -949,8 +951,8 @@ static bool no_rfi_flush; > static bool no_entry_flush; > static bool no_uaccess_flush; > bool rfi_flush; > -bool entry_flush; > -bool uaccess_flush; > +static bool entry_flush; > +static bool uaccess_flush; > DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); > EXPORT_SYMBOL(uaccess_flush_key); > >
在 2021/3/15 20:17, Christophe Leroy 写道: > You subject doesn't match the content of the patch. OK. I'll adapt that. > > Le 15/03/2021 à 13:04, He Ying a écrit : >> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >> outside the file. So define them as static to avoid the warnings. >> >> And add a prototype for the function 'panic_smp_self_stop' for the >> same purpose. >> >> Sparse also warns that 'rfi_flush' should be static. However, it's >> referenced outside the file. > > To clear that warning, you have to include asm/security_features.h, > rfi_flush is declared there. Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? > >> >> The warnings about the file reported by sparse are as follows: >> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol >> 'panic_smp_self_stop' was not declared. Should it be static? >> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was >> not declared. Should it be static? >> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' >> was not declared. Should it be static? >> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' >> was not declared. Should it be static? >> >> Reported-by: Hulk Robot <hulkci@huawei.com> >> Signed-off-by: He Ying <heying24@huawei.com> >> --- >> arch/powerpc/kernel/setup_64.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/arch/powerpc/kernel/setup_64.c >> b/arch/powerpc/kernel/setup_64.c >> index 560ed8b975e7..603aacd8527b 100644 >> --- a/arch/powerpc/kernel/setup_64.c >> +++ b/arch/powerpc/kernel/setup_64.c >> @@ -71,6 +71,8 @@ >> #include "setup.h" >> +extern void panic_smp_self_stop(void); >> + > > For function prototypes 'extern' is unneeded and deprecated. > > And function prototypes should go in an header file. > > panic_smp_self_stop() is called from kernel/panic.c , it should be > declared in one of the generic linux header files I think. Yes, you're right. But I have no idea which header it should be declared in. May I have your suggestions? > >> int spinning_secondaries; >> u64 ppc64_pft_size; >> @@ -949,8 +951,8 @@ static bool no_rfi_flush; >> static bool no_entry_flush; >> static bool no_uaccess_flush; >> bool rfi_flush; >> -bool entry_flush; >> -bool uaccess_flush; >> +static bool entry_flush; >> +static bool uaccess_flush; >> DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); >> EXPORT_SYMBOL(uaccess_flush_key); >> > .
On 3/15/21 1:48 PM, heying (H) wrote: > > 在 2021/3/15 20:17, Christophe Leroy 写道: >> You subject doesn't match the content of the patch. > OK. I'll adapt that. >> >> Le 15/03/2021 à 13:04, He Ying a écrit : >>> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >>> outside the file. So define them as static to avoid the warnings. >>> >>> And add a prototype for the function 'panic_smp_self_stop' for the >>> same purpose. >>> >>> Sparse also warns that 'rfi_flush' should be static. However, it's >>> referenced outside the file. >> >> To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. > Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? yes. >> >>> >>> The warnings about the file reported by sparse are as follows: >>> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? >>> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? >>> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? >>> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? >>> >>> Reported-by: Hulk Robot <hulkci@huawei.com> >>> Signed-off-by: He Ying <heying24@huawei.com> >>> --- >>> arch/powerpc/kernel/setup_64.c | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c >>> index 560ed8b975e7..603aacd8527b 100644 >>> --- a/arch/powerpc/kernel/setup_64.c >>> +++ b/arch/powerpc/kernel/setup_64.c >>> @@ -71,6 +71,8 @@ >>> #include "setup.h" >>> +extern void panic_smp_self_stop(void); >>> + >> >> For function prototypes 'extern' is unneeded and deprecated. >> >> And function prototypes should go in an header file. >> >> panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic linux header files I think. > Yes, you're right. But I have no idea which header it should be declared in. May I have your suggestions? arch/powerpc/include/asm/bug.h looks like a good place. C. >> >>> int spinning_secondaries; >>> u64 ppc64_pft_size; >>> @@ -949,8 +951,8 @@ static bool no_rfi_flush; >>> static bool no_entry_flush; >>> static bool no_uaccess_flush; >>> bool rfi_flush; >>> -bool entry_flush; >>> -bool uaccess_flush; >>> +static bool entry_flush; >>> +static bool uaccess_flush; >>> DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); >>> EXPORT_SYMBOL(uaccess_flush_key); >>> >> .
Le 15/03/2021 à 13:48, heying (H) a écrit : > > 在 2021/3/15 20:17, Christophe Leroy 写道: >> You subject doesn't match the content of the patch. > OK. I'll adapt that. >> >> Le 15/03/2021 à 13:04, He Ying a écrit : >>> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >>> outside the file. So define them as static to avoid the warnings. >>> >>> And add a prototype for the function 'panic_smp_self_stop' for the >>> same purpose. >>> >>> Sparse also warns that 'rfi_flush' should be static. However, it's >>> referenced outside the file. >> >> To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. > Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? Yes >> >>> >>> The warnings about the file reported by sparse are as follows: >>> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. >>> Should it be static? >>> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be >>> static? >>> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it >>> be static? >>> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it >>> be static? >>> >>> Reported-by: Hulk Robot <hulkci@huawei.com> >>> Signed-off-by: He Ying <heying24@huawei.com> >>> --- >>> arch/powerpc/kernel/setup_64.c | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c >>> index 560ed8b975e7..603aacd8527b 100644 >>> --- a/arch/powerpc/kernel/setup_64.c >>> +++ b/arch/powerpc/kernel/setup_64.c >>> @@ -71,6 +71,8 @@ >>> #include "setup.h" >>> +extern void panic_smp_self_stop(void); >>> + >> >> For function prototypes 'extern' is unneeded and deprecated. >> >> And function prototypes should go in an header file. >> >> panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic >> linux header files I think. > Yes, you're right. But I have no idea which header it should be declared in. May I have your > suggestions? Maybe include/linux/smp.h ? >> >>> int spinning_secondaries; >>> u64 ppc64_pft_size; >>> @@ -949,8 +951,8 @@ static bool no_rfi_flush; >>> static bool no_entry_flush; >>> static bool no_uaccess_flush; >>> bool rfi_flush; >>> -bool entry_flush; >>> -bool uaccess_flush; >>> +static bool entry_flush; >>> +static bool uaccess_flush; >>> DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); >>> EXPORT_SYMBOL(uaccess_flush_key); >>> >> .
Le 15/03/2021 à 13:57, Cédric Le Goater a écrit : > On 3/15/21 1:48 PM, heying (H) wrote: >> >> 在 2021/3/15 20:17, Christophe Leroy 写道: >>> You subject doesn't match the content of the patch. >> OK. I'll adapt that. >>> >>> Le 15/03/2021 à 13:04, He Ying a écrit : >>>> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >>>> outside the file. So define them as static to avoid the warnings. >>>> >>>> And add a prototype for the function 'panic_smp_self_stop' for the >>>> same purpose. >>>> >>>> Sparse also warns that 'rfi_flush' should be static. However, it's >>>> referenced outside the file. >>> >>> To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. >> Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? > > yes. > >>> >>>> >>>> The warnings about the file reported by sparse are as follows: >>>> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? >>>> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? >>>> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? >>>> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? >>>> >>>> Reported-by: Hulk Robot <hulkci@huawei.com> >>>> Signed-off-by: He Ying <heying24@huawei.com> >>>> --- >>>> arch/powerpc/kernel/setup_64.c | 6 ++++-- >>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c >>>> index 560ed8b975e7..603aacd8527b 100644 >>>> --- a/arch/powerpc/kernel/setup_64.c >>>> +++ b/arch/powerpc/kernel/setup_64.c >>>> @@ -71,6 +71,8 @@ >>>> #include "setup.h" >>>> +extern void panic_smp_self_stop(void); >>>> + >>> >>> For function prototypes 'extern' is unneeded and deprecated. >>> >>> And function prototypes should go in an header file. >>> >>> panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic linux header files I think. >> Yes, you're right. But I have no idea which header it should be declared in. May I have your suggestions? > > arch/powerpc/include/asm/bug.h looks like a good place. Why declaring it in a powerpc header ? It's a weak function defined in core part of kernel (kernel/panic.c). I think it should go in a common header, just like for instance arch_thaw_secondary_cpus_begin() > > C. > >>> >>>> int spinning_secondaries; >>>> u64 ppc64_pft_size; >>>> @@ -949,8 +951,8 @@ static bool no_rfi_flush; >>>> static bool no_entry_flush; >>>> static bool no_uaccess_flush; >>>> bool rfi_flush; >>>> -bool entry_flush; >>>> -bool uaccess_flush; >>>> +static bool entry_flush; >>>> +static bool uaccess_flush; >>>> DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); >>>> EXPORT_SYMBOL(uaccess_flush_key); >>>> >>> .
On 3/15/21 2:01 PM, Christophe Leroy wrote: > > > Le 15/03/2021 à 13:57, Cédric Le Goater a écrit : >> On 3/15/21 1:48 PM, heying (H) wrote: >>> >>> 在 2021/3/15 20:17, Christophe Leroy 写道: >>>> You subject doesn't match the content of the patch. >>> OK. I'll adapt that. >>>> >>>> Le 15/03/2021 à 13:04, He Ying a écrit : >>>>> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >>>>> outside the file. So define them as static to avoid the warnings. >>>>> >>>>> And add a prototype for the function 'panic_smp_self_stop' for the >>>>> same purpose. >>>>> >>>>> Sparse also warns that 'rfi_flush' should be static. However, it's >>>>> referenced outside the file. >>>> >>>> To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. >>> Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? >> >> yes. >> >>>> >>>>> >>>>> The warnings about the file reported by sparse are as follows: >>>>> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? >>>>> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? >>>>> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? >>>>> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? >>>>> >>>>> Reported-by: Hulk Robot <hulkci@huawei.com> >>>>> Signed-off-by: He Ying <heying24@huawei.com> >>>>> --- >>>>> arch/powerpc/kernel/setup_64.c | 6 ++++-- >>>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>>>> >>>>> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c >>>>> index 560ed8b975e7..603aacd8527b 100644 >>>>> --- a/arch/powerpc/kernel/setup_64.c >>>>> +++ b/arch/powerpc/kernel/setup_64.c >>>>> @@ -71,6 +71,8 @@ >>>>> #include "setup.h" >>>>> +extern void panic_smp_self_stop(void); >>>>> + >>>> >>>> For function prototypes 'extern' is unneeded and deprecated. >>>> >>>> And function prototypes should go in an header file. >>>> >>>> panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic linux header files I think. >>> Yes, you're right. But I have no idea which header it should be declared in. May I have your suggestions? >> >> arch/powerpc/include/asm/bug.h looks like a good place. > > Why declaring it in a powerpc header ? > > It's a weak function defined in core part of kernel (kernel/panic.c). > > I think it should go in a common header, just like for instance arch_thaw_secondary_cpus_begin() Indeed. include/linux/smp.h is a better place for a common routine. C.
Dear Cédric Le Goater and Christophe Leroy, Thanks for all your suggestions! I'll pick them in my patch and resent it soon. Thanks again. 在 2021/3/15 21:14, Cédric Le Goater 写道: > On 3/15/21 2:01 PM, Christophe Leroy wrote: >> >> Le 15/03/2021 à 13:57, Cédric Le Goater a écrit : >>> On 3/15/21 1:48 PM, heying (H) wrote: >>>> 在 2021/3/15 20:17, Christophe Leroy 写道: >>>>> You subject doesn't match the content of the patch. >>>> OK. I'll adapt that. >>>>> Le 15/03/2021 à 13:04, He Ying a écrit : >>>>>> The variables 'uaccess_fulsh' and 'entry_flush' are not referenced >>>>>> outside the file. So define them as static to avoid the warnings. >>>>>> >>>>>> And add a prototype for the function 'panic_smp_self_stop' for the >>>>>> same purpose. >>>>>> >>>>>> Sparse also warns that 'rfi_flush' should be static. However, it's >>>>>> referenced outside the file. >>>>> To clear that warning, you have to include asm/security_features.h, rfi_flush is declared there. >>>> Do you mean that I should include this header in arch/powerpc/kernel/setup_64.c? >>> yes. >>> >>>>>> The warnings about the file reported by sparse are as follows: >>>>>> arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? >>>>>> arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? >>>>>> arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? >>>>>> arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? >>>>>> >>>>>> Reported-by: Hulk Robot <hulkci@huawei.com> >>>>>> Signed-off-by: He Ying <heying24@huawei.com> >>>>>> --- >>>>>> arch/powerpc/kernel/setup_64.c | 6 ++++-- >>>>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>>>>> >>>>>> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c >>>>>> index 560ed8b975e7..603aacd8527b 100644 >>>>>> --- a/arch/powerpc/kernel/setup_64.c >>>>>> +++ b/arch/powerpc/kernel/setup_64.c >>>>>> @@ -71,6 +71,8 @@ >>>>>> #include "setup.h" >>>>>> +extern void panic_smp_self_stop(void); >>>>>> + >>>>> For function prototypes 'extern' is unneeded and deprecated. >>>>> >>>>> And function prototypes should go in an header file. >>>>> >>>>> panic_smp_self_stop() is called from kernel/panic.c , it should be declared in one of the generic linux header files I think. >>>> Yes, you're right. But I have no idea which header it should be declared in. May I have your suggestions? >>> arch/powerpc/include/asm/bug.h looks like a good place. >> Why declaring it in a powerpc header ? >> >> It's a weak function defined in core part of kernel (kernel/panic.c). >> >> I think it should go in a common header, just like for instance arch_thaw_secondary_cpus_begin() > Indeed. include/linux/smp.h is a better place for a common routine. > > C. > > .
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 560ed8b975e7..603aacd8527b 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c @@ -71,6 +71,8 @@ #include "setup.h" +extern void panic_smp_self_stop(void); + int spinning_secondaries; u64 ppc64_pft_size; @@ -949,8 +951,8 @@ static bool no_rfi_flush; static bool no_entry_flush; static bool no_uaccess_flush; bool rfi_flush; -bool entry_flush; -bool uaccess_flush; +static bool entry_flush; +static bool uaccess_flush; DEFINE_STATIC_KEY_FALSE(uaccess_flush_key); EXPORT_SYMBOL(uaccess_flush_key);
The variables 'uaccess_fulsh' and 'entry_flush' are not referenced outside the file. So define them as static to avoid the warnings. And add a prototype for the function 'panic_smp_self_stop' for the same purpose. Sparse also warns that 'rfi_flush' should be static. However, it's referenced outside the file. The warnings about the file reported by sparse are as follows: arch/powerpc/kernel/setup_64.c:422:6: warning: symbol 'panic_smp_self_stop' was not declared. Should it be static? arch/powerpc/kernel/setup_64.c:951:6: warning: symbol 'rfi_flush' was not declared. Should it be static? arch/powerpc/kernel/setup_64.c:952:6: warning: symbol 'entry_flush' was not declared. Should it be static? arch/powerpc/kernel/setup_64.c:953:6: warning: symbol 'uaccess_flush' was not declared. Should it be static? Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: He Ying <heying24@huawei.com> --- arch/powerpc/kernel/setup_64.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)