[rcu:test 69/69] arch/arm/include/asm/irqflags.h:171:2: warning: 'flags' may be used uninitialized in this function

From: kbuild test robot
Date: Fri May 31 2019 - 13:14:28 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git test
head: 685a26bc60076305987bf06cfd1269e5e4094c73
commit: 685a26bc60076305987bf06cfd1269e5e4094c73 [69/69] rcu/nocb: Avoid ->nocb_lock capture by corresponding CPU
config: arm-realview_defconfig (attached as .config)
compiler: arm-linux-gnueabi-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 685a26bc60076305987bf06cfd1269e5e4094c73
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm

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 kernel/rcu/tree.c:3519:0:
kernel/rcu/tree_plugin.h: In function 'do_nocb_deferred_wakeup_common':
kernel/rcu/tree_plugin.h:1891:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
wake_nocb_gp(rdp, ndw == RCU_NOCB_WAKE_FORCE, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/irqflags.h:16:0,
from arch/arm/include/asm/bitops.h:28,
from include/linux/bitops.h:19,
from include/linux/kernel.h:12,
from kernel/rcu/tree.c:21:
kernel/rcu/tree_plugin.h: In function 'rcu_nocb_gp_kthread':
>> arch/arm/include/asm/irqflags.h:171:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm volatile(
^~~
In file included from kernel/rcu/tree.c:3519:0:
kernel/rcu/tree_plugin.h:1719:16: note: 'flags' was declared here
unsigned long flags;
^~~~~
--
In file included from kernel//rcu/tree.c:3519:0:
kernel//rcu/tree_plugin.h: In function 'do_nocb_deferred_wakeup_common':
kernel//rcu/tree_plugin.h:1891:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
wake_nocb_gp(rdp, ndw == RCU_NOCB_WAKE_FORCE, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/irqflags.h:16:0,
from arch/arm/include/asm/bitops.h:28,
from include/linux/bitops.h:19,
from include/linux/kernel.h:12,
from kernel//rcu/tree.c:21:
kernel//rcu/tree_plugin.h: In function 'rcu_nocb_gp_kthread':
>> arch/arm/include/asm/irqflags.h:171:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm volatile(
^~~
In file included from kernel//rcu/tree.c:3519:0:
kernel//rcu/tree_plugin.h:1719:16: note: 'flags' was declared here
unsigned long flags;
^~~~~

vim +/flags +171 arch/arm/include/asm/irqflags.h

7ad1bcb2 include/asm-arm/irqflags.h Russell King 2006-08-27 164
7ad1bcb2 include/asm-arm/irqflags.h Russell King 2006-08-27 165 /*
7ad1bcb2 include/asm-arm/irqflags.h Russell King 2006-08-27 166 * restore saved IRQ & FIQ state
7ad1bcb2 include/asm-arm/irqflags.h Russell King 2006-08-27 167 */
6fb18ac9 arch/arm/include/asm/irqflags.h Daniel Thompson 2015-06-10 168 #define arch_local_irq_restore arch_local_irq_restore
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 169 static inline void arch_local_irq_restore(unsigned long flags)
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 170 {
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 @171 asm volatile(
55bdd694 arch/arm/include/asm/irqflags.h Catalin Marinas 2010-05-21 172 " msr " IRQMASK_REG_NAME_W ", %0 @ local_irq_restore"
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 173 :
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 174 : "r" (flags)
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 175 : "memory", "cc");
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 176 }
df9ee292 arch/arm/include/asm/irqflags.h David Howells 2010-10-07 177

:::::: The code at line 171 was first introduced by commit
:::::: df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101 Fix IRQ flag handling naming

:::::: 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