Web lists-archives.com

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




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