public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.ibm.com>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org
Subject: Re: [rcu:test 69/69] arch/x86/include/asm/irqflags.h:41:2: warning: 'flags' may be used uninitialized in this function
Date: Thu, 30 May 2019 10:21:22 -0700	[thread overview]
Message-ID: <20190530172122.GE28207@linux.ibm.com> (raw)
In-Reply-To: <201905310055.7eYmYEK8%lkp@intel.com>

On Fri, May 31, 2019 at 12:35:01AM +0800, kbuild test robot wrote:
> 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@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

This is a false positive.  The return value of rcu_segcblist_is_offloaded()
for a given CPU cannot change post-boot.  (Famous last words!)

								Thanx, Paul

> 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@perches.com>
> :::::: CC: Ingo Molnar <mingo@elte.hu>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation



      reply	other threads:[~2019-05-30 17:22 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-30 16:35 [rcu:test 69/69] arch/x86/include/asm/irqflags.h:41:2: warning: 'flags' may be used uninitialized in this function kbuild test robot
2019-05-30 17:21 ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190530172122.GE28207@linux.ibm.com \
    --to=paulmck@linux.ibm.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox