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
prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.