[PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE1998d

8 messages, 3 authors, 2021-03-16 · open the first message on its own page

[PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: He Ying <hidden>
Date: 2021-03-15 12:05:34

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 <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);
+
 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);
 
-- 
2.17.1

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
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
  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);
  

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: heying (H) <hidden>
Date: 2021-03-15 12:48:58

在 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 :
quoted
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?
quoted
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.
Yes, you're right. But I have no idea which header it should be declared 
in. May I have your suggestions?
quoted
  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);
.

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: Cédric Le Goater <clg@kaod.org>
Date: 2021-03-15 12:57:56

On 3/15/21 1:48 PM, heying (H) wrote:
在 2021/3/15 20:17, Christophe Leroy 写道:
quoted
You subject doesn't match the content of the patch.
OK. I'll adapt that.
quoted
Le 15/03/2021 à 13:04, He Ying a écrit :
quoted
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.
quoted
quoted
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.
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.
quoted
quoted
  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);
.

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: Christophe Leroy <hidden>
Date: 2021-03-15 12:58:15


Le 15/03/2021 à 13:48, heying (H) a écrit :
在 2021/3/15 20:17, Christophe Leroy 写道:
quoted
You subject doesn't match the content of the patch.
OK. I'll adapt that.
quoted
Le 15/03/2021 à 13:04, He Ying a écrit :
quoted
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
quoted
quoted
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.
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 ?
quoted
quoted
  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);
.

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: Christophe Leroy <hidden>
Date: 2021-03-15 13:02:04


Le 15/03/2021 à 13:57, Cédric Le Goater a écrit :
On 3/15/21 1:48 PM, heying (H) wrote:
quoted
在 2021/3/15 20:17, Christophe Leroy 写道:
quoted
You subject doesn't match the content of the patch.
OK. I'll adapt that.
quoted
Le 15/03/2021 à 13:04, He Ying a écrit :
quoted
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.
quoted
quoted
quoted
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.
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.
quoted
quoted
quoted
   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);
.

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: Cédric Le Goater <clg@kaod.org>
Date: 2021-03-15 13:54:20

On 3/15/21 2:01 PM, Christophe Leroy wrote:

Le 15/03/2021 à 13:57, Cédric Le Goater a écrit :
quoted
On 3/15/21 1:48 PM, heying (H) wrote:
quoted
在 2021/3/15 20:17, Christophe Leroy 写道:
quoted
You subject doesn't match the content of the patch.
OK. I'll adapt that.
quoted
Le 15/03/2021 à 13:04, He Ying a écrit :
quoted
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.
quoted
quoted
quoted
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.
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.

Re: [PATCH] powerpc: Fix missing prototype problems for "arch/powerpc/kernel/setup_64.c"

From: heying (H) <hidden>
Date: 2021-03-16 02:04:49

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:
quoted
Le 15/03/2021 à 13:57, Cédric Le Goater a écrit :
quoted
On 3/15/21 1:48 PM, heying (H) wrote:
quoted
在 2021/3/15 20:17, Christophe Leroy 写道:
quoted
You subject doesn't match the content of the patch.
OK. I'll adapt that.
quoted
Le 15/03/2021 à 13:04, He Ying a écrit :
quoted
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.
quoted
quoted
quoted
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.
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.

.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help