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: sparc64-allmodconfig (attached as .config)
compiler: sparc64-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=sparc64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

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:1888:3: warning: 'flags' may be used uninitialized 
>> in this function [-Wmaybe-uninitialized]
      rcu_nocb_unlock_irqrestore(rdp, flags);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/rcu/tree_plugin.h: In function 'rcu_nocb_gp_kthread':
   kernel/rcu/tree_plugin.h:1790:3: warning: 'flags' may be used uninitialized 
in this function [-Wmaybe-uninitialized]
      rcu_nocb_unlock_irqrestore(my_rdp, flags);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/rcu/tree_plugin.h:1721:16: note: 'flags' was declared here
     unsigned long flags;
                   ^~~~~

vim +/flags +1888 kernel/rcu/tree_plugin.h

  1879  
  1880  /* Do a deferred wakeup of rcu_nocb_kthread(). */
  1881  static void do_nocb_deferred_wakeup_common(struct rcu_data *rdp)
  1882  {
  1883          unsigned long flags;
  1884          int ndw;
  1885  
  1886          rcu_nocb_lock_irqsave(rdp, flags);
  1887          if (!rcu_nocb_need_deferred_wakeup(rdp)) {
> 1888                  rcu_nocb_unlock_irqrestore(rdp, flags);
  1889                  return;
  1890          }
  1891          ndw = READ_ONCE(rdp->nocb_defer_wakeup);
  1892          WRITE_ONCE(rdp->nocb_defer_wakeup, RCU_NOCB_WAKE_NOT);
  1893          wake_nocb_gp(rdp, ndw == RCU_NOCB_WAKE_FORCE, flags);
  1894          trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, 
TPS("DeferredWake"));
  1895  }
  1896  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to