From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: hch@infradead.org
Cc: falakreyaz@gmail.com, nab@linux-iscsi.org,
target-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Fw: [rcu:rcu/next 41/41] arch/x86/kvm/vmx.c:11022:2: error: function '_r_a_p__v' is initialized like a variable
Date: Sun, 1 May 2016 19:49:02 -0700 [thread overview]
Message-ID: <20160502024902.GR3686@linux.vnet.ibm.com> (raw)
Like this sort of compiler bug, maybe. Compiles just fine on my laptop.
Thoughts?
Thanx, Paul
----- Forwarded message from kbuild test robot <fengguang.wu@intel.com> -----
Date: Mon, 2 May 2016 10:12:38 +0800
From: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org, "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: [rcu:rcu/next 41/41] arch/x86/kvm/vmx.c:11022:2: error: function
'_r_a_p__v' is initialized like a variable
tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head: 16d7afcaa5301f8243a7dda82be4d59e84ac6ee1
commit: 16d7afcaa5301f8243a7dda82be4d59e84ac6ee1 [41/41] rcu: No ordering for rcu_assign_pointer() of NULL
config: x86_64-rhel (attached as .config)
compiler: gcc-4.9 (Debian 4.9.3-14) 4.9.3
reproduce:
git checkout 16d7afcaa5301f8243a7dda82be4d59e84ac6ee1
# save the attached .config to linux build tree
make ARCH=x86_64
Note: the rcu/rcu/next HEAD 16d7afcaa5301f8243a7dda82be4d59e84ac6ee1 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
arch/x86/kvm/vmx.c: In function 'vmx_init':
>> arch/x86/kvm/vmx.c:11022:2: error: function '_r_a_p__v' is initialized like a variable
rcu_assign_pointer(crash_vmclear_loaded_vmcss,
^
In file included from include/linux/rbtree.h:34:0,
from include/linux/mm_types.h:9,
from arch/x86/kvm/irq.h:25,
from arch/x86/kvm/vmx.c:19:
>> include/linux/rcupdate.h:657:45: warning: the comparison will always evaluate as 'false' for the address of '_r_a_p__v' will never be NULL [-Waddress]
if (__builtin_constant_p(v) && (_r_a_p__v) == NULL) \
^
>> arch/x86/kvm/vmx.c:11022:2: note: in expansion of macro 'rcu_assign_pointer'
rcu_assign_pointer(crash_vmclear_loaded_vmcss,
^
>> include/linux/rcupdate.h:655:12: error: nested function '_r_a_p__v' declared but never defined
typeof(v) _r_a_p__v = (v); \
^
>> arch/x86/kvm/vmx.c:11022:2: note: in expansion of macro 'rcu_assign_pointer'
rcu_assign_pointer(crash_vmclear_loaded_vmcss,
^
In file included from arch/x86/kvm/vmx.c:25:0:
arch/x86/kvm/vmx.c: At top level:
>> include/linux/module.h:130:6: error: 'init_module' aliased to undefined symbol 'vmx_init'
int init_module(void) __attribute__((alias(#initfn)));
^
>> arch/x86/kvm/vmx.c:11039:1: note: in expansion of macro 'module_init'
module_init(vmx_init)
^
vim +/_r_a_p__v +11022 arch/x86/kvm/vmx.c
34a1cd60 arch/x86/kvm/vmx.c Tiejun Chen 2014-10-28 11016 int r = kvm_init(&vmx_x86_ops, sizeof(struct vcpu_vmx),
0ee75bea arch/x86/kvm/vmx.c Avi Kivity 2010-04-28 11017 __alignof__(struct vcpu_vmx), THIS_MODULE);
fdef3ad1 drivers/kvm/vmx.c He, Qing 2007-04-30 11018 if (r)
34a1cd60 arch/x86/kvm/vmx.c Tiejun Chen 2014-10-28 11019 return r;
25c5f225 arch/x86/kvm/vmx.c Sheng Yang 2008-03-28 11020
2965faa5 arch/x86/kvm/vmx.c Dave Young 2015-09-09 11021 #ifdef CONFIG_KEXEC_CORE
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 @11022 rcu_assign_pointer(crash_vmclear_loaded_vmcss,
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11023 crash_vmclear_local_loaded_vmcss);
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11024 #endif
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11025
fdef3ad1 drivers/kvm/vmx.c He, Qing 2007-04-30 11026 return 0;
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11027 }
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11028
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11029 static void __exit vmx_exit(void)
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11030 {
2965faa5 arch/x86/kvm/vmx.c Dave Young 2015-09-09 11031 #ifdef CONFIG_KEXEC_CORE
3b63a43f arch/x86/kvm/vmx.c Monam Agarwal 2014-03-22 11032 RCU_INIT_POINTER(crash_vmclear_loaded_vmcss, NULL);
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11033 synchronize_rcu();
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11034 #endif
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei 2012-12-06 11035
cb498ea2 drivers/kvm/vmx.c Zhang Xiantao 2007-11-14 11036 kvm_exit();
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11037 }
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11038
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 @11039 module_init(vmx_init)
6aa8b732 drivers/kvm/vmx.c Avi Kivity 2006-12-10 11040 module_exit(vmx_exit)
:::::: The code at line 11022 was first introduced by commit
:::::: 8f536b7697a0d40ef6b5fd04cf2c04953d5ca06f KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump
:::::: TO: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
:::::: CC: Gleb Natapov <gleb@redhat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
----- End forwarded message -----
reply other threads:[~2016-05-02 2:49 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20160502024902.GR3686@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=falakreyaz@gmail.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nab@linux-iscsi.org \
--cc=target-devel@vger.kernel.org \
/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