Like this sort of compiler bug, maybe. Compiles just fine on my laptop. Thoughts? Thanx, Paul ----- Forwarded message from kbuild test robot <fengguang.wu@xxxxxxxxx> ----- Date: Mon, 2 May 2016 10:12:38 +0800 From: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: kbuild-all@xxxxxx, "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> :::::: CC: Gleb Natapov <gleb@xxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation ----- End forwarded message ----- -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html