Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"
From: Christophe Leroy <hidden>
Date: 2021-03-15 12:18:03
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.
quoted hunk ↗ jump to hunk
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 <redacted> Signed-off-by: He Ying <redacted> --- 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.
quoted hunk ↗ jump to hunk
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);