2018-08-20 18:17:15

by kernel test robot

[permalink] [raw]
Subject: [tip:x86/urgent 6/6] arch/x86/platform/uv/tlb_uv.c:2209:6: sparse: symbol 'uv_bau_crash_shutdown' was not declared. Should it be static?

tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/urgent
head: 99f3965878759d36baac944df004b4dafcc272b4
commit: 99f3965878759d36baac944df004b4dafcc272b4 [6/6] x86/platform/uv/BAU: Gracefully disable BAU during panic
reproduce:
# apt-get install sparse
git checkout 99f3965878759d36baac944df004b4dafcc272b4
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

include/linux/nodemask.h:265:16: sparse: expression using sizeof(void)
include/linux/nodemask.h:271:16: sparse: expression using sizeof(void)
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:692:41: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:692:41: expected void volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:692:41: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
include/linux/slab.h:631:13: sparse: undefined identifier '__builtin_mul_overflow'
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
>> arch/x86/platform/uv/tlb_uv.c:2209:6: sparse: symbol 'uv_bau_crash_shutdown' was not declared. Should it be static?
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:692:41: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:692:41: expected void volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:692:41: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:687:42: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:687:42: expected void const volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:687:42: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:692:41: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2>*addr @@ got deref] <asn:2>*addr @@
arch/x86/include/asm/uv/uv_hub.h:692:41: expected void volatile [noderef] <asn:2>*addr
arch/x86/include/asm/uv/uv_hub.h:692:41: got unsigned long *
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
arch/x86/include/asm/uv/uv_hub.h:652:16: sparse: incorrect type in return expression (different address spaces) @@ expected void volatile [noderef] <asn:2>* @@ got sn:2>* @@
arch/x86/include/asm/uv/uv_hub.h:652:16: expected void volatile [noderef] <asn:2>*
arch/x86/include/asm/uv/uv_hub.h:652:16: got void *<noident>
include/linux/slab.h:631:13: sparse: call with no type!

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


2018-08-20 18:17:13

by Fengguang Wu

[permalink] [raw]
Subject: [RFC PATCH tip] x86/platform/uv/BAU: uv_bau_crash_shutdown() can be static


Fixes: 99f396587875 ("x86/platform/uv/BAU: Gracefully disable BAU during panic")
Signed-off-by: kbuild test robot <[email protected]>
---
tlb_uv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/platform/uv/tlb_uv.c b/arch/x86/platform/uv/tlb_uv.c
index 4c1e119..bce4d14 100644
--- a/arch/x86/platform/uv/tlb_uv.c
+++ b/arch/x86/platform/uv/tlb_uv.c
@@ -2206,7 +2206,7 @@ static const struct bau_operations uv4_bau_ops __initconst = {
* Bring BAU to quiesence by abandoning current broadcasts and freeing up
* resources needed by firmware-initiated BAU broadcasts.
*/
-void uv_bau_crash_shutdown(struct pt_regs *regs)
+static void uv_bau_crash_shutdown(struct pt_regs *regs)
{
int pnode = 0;
int uvhub = 0;

2018-08-20 19:55:40

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [RFC PATCH tip] x86/platform/uv/BAU: uv_bau_crash_shutdown() can be static

On Tue, 21 Aug 2018, kbuild test robot wrote:

>
> Fixes: 99f396587875 ("x86/platform/uv/BAU: Gracefully disable BAU during panic")
> Signed-off-by: kbuild test robot <[email protected]>

I've zapped the commit for now and let Andrew deal with it as the other sparse
warnings want some care as well.

Thanks,

tglx