Like this sort of compiler bug, maybe.  Compiles just fine on my laptop.

Thoughts?

                                                        Thanx, Paul

----- Forwarded message from kbuild test robot <fengguang...@intel.com> -----

Date: Mon, 2 May 2016 10:12:38 +0800
From: kbuild test robot <fengguang...@intel.com>
Cc: kbuild-...@01.org, "Paul E. McKenney" <paul...@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 <zhangyan...@cn.fujitsu.com>
:::::: CC: Gleb Natapov <g...@redhat.com>

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



----- End forwarded message -----

Reply via email to