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

From: kbuild test robot
Date: Thu May 30 2019 - 12:39:32 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: x86_64-randconfig-x009-201921 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 685a26bc60076305987bf06cfd1269e5e4094c73
# save the attached .config to linux build tree
make ARCH=x86_64

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 include/linux/irqflags.h:16:0,
from arch/x86/include/asm/processor.h:33,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
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/x86/include/asm/irqflags.h:41:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm volatile("push %0 ; popf"
^~~
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;
^~~~~
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/x86/include/asm/processor.h:33,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
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/x86/include/asm/irqflags.h:41:2: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm volatile("push %0 ; popf"
^~~
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;
^~~~~
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);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/flags +41 arch/x86/include/asm/irqflags.h

6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 37
1f59a458 arch/x86/include/asm/irqflags.h Nick Desaulniers 2018-08-27 38 extern inline void native_restore_fl(unsigned long flags);
1f59a458 arch/x86/include/asm/irqflags.h Nick Desaulniers 2018-08-27 39 extern inline void native_restore_fl(unsigned long flags)
6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 40 {
cf7f7191 include/asm-x86/irqflags.h Joe Perches 2008-03-23 @41 asm volatile("push %0 ; popf"
6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 42 : /* no output */
6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 43 :"g" (flags)
cf7f7191 include/asm-x86/irqflags.h Joe Perches 2008-03-23 44 :"memory", "cc");
6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 45 }
6abcd98f include/asm-x86/irqflags.h Glauber de Oliveira Costa 2008-01-30 46

:::::: The code at line 41 was first introduced by commit
:::::: cf7f7191cf20011e47243b594e433275a6db811b include/asm-x86/irqflags.h: checkpatch cleanups - formatting only

:::::: TO: Joe Perches <joe@xxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

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

Attachment: .config.gz
Description: application/gzip