[rcu:test 70/72] arch/alpha/include/asm/pal.h:57:17: warning: 'flags' may be used uninitialized in this function

From: kbuild test robot
Date: Thu May 30 2019 - 12:49:34 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git test
head: 77ef1b88654653681661fb0ce7cc1d6e712a409f
commit: 6ad9e6bcf543a758d4b7323cb2909ebd66f39ee4 [70/72] fixup! rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU
config: alpha-allmodconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 6ad9e6bcf543a758d4b7323cb2909ebd66f39ee4
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=alpha

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

In file included from arch/alpha/include/asm/bug.h:8:0,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from kernel/rcu/tree.c:23:
kernel/rcu/tree_plugin.h: In function 'do_nocb_deferred_wakeup_common':
>> arch/alpha/include/asm/pal.h:57:17: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
register TYPE0 __r16 __asm__("$16") = arg0; \
^~~~~
In file included from kernel/rcu/tree.c:3519:0:
kernel/rcu/tree_plugin.h:1883:16: note: 'flags' was declared here
unsigned long flags;
^~~~~
In file included from arch/alpha/include/asm/bug.h:8:0,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from kernel/rcu/tree.c:23:
kernel/rcu/tree_plugin.h: In function 'rcu_nocb_gp_kthread':
>> arch/alpha/include/asm/pal.h:57:17: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
register TYPE0 __r16 __asm__("$16") = arg0; \
^~~~~
In file included from kernel/rcu/tree.c:3519:0:
kernel/rcu/tree_plugin.h:1721:16: note: 'flags' was declared here
unsigned long flags;
^~~~~
--
In file included from arch/alpha/include/asm/bug.h:8:0,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from kernel//rcu/tree.c:23:
kernel//rcu/tree_plugin.h: In function 'do_nocb_deferred_wakeup_common':
>> arch/alpha/include/asm/pal.h:57:17: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
register TYPE0 __r16 __asm__("$16") = arg0; \
^~~~~
In file included from kernel//rcu/tree.c:3519:0:
kernel//rcu/tree_plugin.h:1883:16: note: 'flags' was declared here
unsigned long flags;
^~~~~
In file included from arch/alpha/include/asm/bug.h:8:0,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/alpha/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from kernel//rcu/tree.c:23:
kernel//rcu/tree_plugin.h: In function 'rcu_nocb_gp_kthread':
>> arch/alpha/include/asm/pal.h:57:17: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
register TYPE0 __r16 __asm__("$16") = arg0; \
^~~~~
In file included from kernel//rcu/tree.c:3519:0:
kernel//rcu/tree_plugin.h:1721:16: note: 'flags' was declared here
unsigned long flags;
^~~~~

vim +/flags +57 arch/alpha/include/asm/pal.h

ec221208 David Howells 2012-03-28 52
ec221208 David Howells 2012-03-28 53 #define __CALL_PAL_RW1(NAME, RTYPE, TYPE0) \
ec221208 David Howells 2012-03-28 54 extern inline RTYPE NAME(TYPE0 arg0) \
ec221208 David Howells 2012-03-28 55 { \
ec221208 David Howells 2012-03-28 56 register RTYPE __r0 __asm__("$0"); \
ec221208 David Howells 2012-03-28 @57 register TYPE0 __r16 __asm__("$16") = arg0; \
ec221208 David Howells 2012-03-28 58 __asm__ __volatile__( \
ec221208 David Howells 2012-03-28 59 "call_pal %2 # "#NAME \
ec221208 David Howells 2012-03-28 60 : "=r"(__r16), "=r"(__r0) \
ec221208 David Howells 2012-03-28 61 : "i"(PAL_ ## NAME), "0"(__r16) \
ec221208 David Howells 2012-03-28 62 : "$1", "$22", "$23", "$24", "$25"); \
ec221208 David Howells 2012-03-28 63 return __r0; \
ec221208 David Howells 2012-03-28 64 }
ec221208 David Howells 2012-03-28 65

:::::: The code at line 57 was first introduced by commit
:::::: ec2212088c42ff7d1362629ec26dda4f3e8bdad3 Disintegrate asm/system.h for Alpha

:::::: TO: David Howells <dhowells@xxxxxxxxxx>
:::::: CC: David Howells <dhowells@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip