Re: [PATCH] kvm: nVMX: Remove superfluous VMX instruction fault checks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jim,

[auto build test WARNING on kvm/linux-next]
[also build test WARNING on v4.11-rc7 next-20170421]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jim-Mattson/kvm-nVMX-Remove-superfluous-VMX-instruction-fault-checks/20170422-073002
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next
config: x86_64-kexec (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

     .get_tdp_level = get_ept_level,
                      ^~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11459:19: note: (near initialization for 'vmx_x86_ops.get_tdp_level')
   arch/x86/kvm/vmx.c:11460:17: error: initializer element is not constant
     .get_mt_mask = vmx_get_mt_mask,
                    ^~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11460:17: note: (near initialization for 'vmx_x86_ops.get_mt_mask')
   arch/x86/kvm/vmx.c:11462:19: error: initializer element is not constant
     .get_exit_info = vmx_get_exit_info,
                      ^~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11462:19: note: (near initialization for 'vmx_x86_ops.get_exit_info')
   arch/x86/kvm/vmx.c:11464:21: error: initializer element is not constant
     .get_lpage_level = vmx_get_lpage_level,
                        ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11464:21: note: (near initialization for 'vmx_x86_ops.get_lpage_level')
   arch/x86/kvm/vmx.c:11466:18: error: initializer element is not constant
     .cpuid_update = vmx_cpuid_update,
                     ^~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11466:18: note: (near initialization for 'vmx_x86_ops.cpuid_update')
   arch/x86/kvm/vmx.c:11471:25: error: initializer element is not constant
     .set_supported_cpuid = vmx_set_supported_cpuid,
                            ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11471:25: note: (near initialization for 'vmx_x86_ops.set_supported_cpuid')
   arch/x86/kvm/vmx.c:11479:21: error: initializer element is not constant
     .check_intercept = vmx_check_intercept,
                        ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11479:21: note: (near initialization for 'vmx_x86_ops.check_intercept')
   arch/x86/kvm/vmx.c:11480:26: error: initializer element is not constant
     .handle_external_intr = vmx_handle_external_intr,
                             ^~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11480:26: note: (near initialization for 'vmx_x86_ops.handle_external_intr')
   arch/x86/kvm/vmx.c:11481:19: error: initializer element is not constant
     .mpx_supported = vmx_mpx_supported,
                      ^~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11481:19: note: (near initialization for 'vmx_x86_ops.mpx_supported')
   arch/x86/kvm/vmx.c:11482:22: error: initializer element is not constant
     .xsaves_supported = vmx_xsaves_supported,
                         ^~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11482:22: note: (near initialization for 'vmx_x86_ops.xsaves_supported')
   arch/x86/kvm/vmx.c:11484:25: error: initializer element is not constant
     .check_nested_events = vmx_check_nested_events,
                            ^~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11484:25: note: (near initialization for 'vmx_x86_ops.check_nested_events')
   arch/x86/kvm/vmx.c:11486:14: error: initializer element is not constant
     .sched_in = vmx_sched_in,
                 ^~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11486:14: note: (near initialization for 'vmx_x86_ops.sched_in')
   arch/x86/kvm/vmx.c:11488:27: error: initializer element is not constant
     .slot_enable_log_dirty = vmx_slot_enable_log_dirty,
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11488:27: note: (near initialization for 'vmx_x86_ops.slot_enable_log_dirty')
   arch/x86/kvm/vmx.c:11489:28: error: initializer element is not constant
     .slot_disable_log_dirty = vmx_slot_disable_log_dirty,
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11489:28: note: (near initialization for 'vmx_x86_ops.slot_disable_log_dirty')
   arch/x86/kvm/vmx.c:11490:21: error: initializer element is not constant
     .flush_log_dirty = vmx_flush_log_dirty,
                        ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11490:21: note: (near initialization for 'vmx_x86_ops.flush_log_dirty')
   arch/x86/kvm/vmx.c:11491:32: error: initializer element is not constant
     .enable_log_dirty_pt_masked = vmx_enable_log_dirty_pt_masked,
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11491:32: note: (near initialization for 'vmx_x86_ops.enable_log_dirty_pt_masked')
   arch/x86/kvm/vmx.c:11493:15: error: initializer element is not constant
     .pre_block = vmx_pre_block,
                  ^~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11493:15: note: (near initialization for 'vmx_x86_ops.pre_block')
   arch/x86/kvm/vmx.c:11494:16: error: initializer element is not constant
     .post_block = vmx_post_block,
                   ^~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11494:16: note: (near initialization for 'vmx_x86_ops.post_block')
   arch/x86/kvm/vmx.c:11498:20: error: initializer element is not constant
     .update_pi_irte = vmx_update_pi_irte,
                       ^~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11498:20: note: (near initialization for 'vmx_x86_ops.update_pi_irte')
   arch/x86/kvm/vmx.c:11501:18: error: initializer element is not constant
     .set_hv_timer = vmx_set_hv_timer,
                     ^~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11501:18: note: (near initialization for 'vmx_x86_ops.set_hv_timer')
   arch/x86/kvm/vmx.c:11502:21: error: initializer element is not constant
     .cancel_hv_timer = vmx_cancel_hv_timer,
                        ^~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11502:21: note: (near initialization for 'vmx_x86_ops.cancel_hv_timer')
   arch/x86/kvm/vmx.c:11505:15: error: initializer element is not constant
     .setup_mce = vmx_setup_mce,
                  ^~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11505:15: note: (near initialization for 'vmx_x86_ops.setup_mce')
   arch/x86/kvm/vmx.c:11508:19: error: invalid storage class for function 'vmx_init'
    static int __init vmx_init(void)
                      ^~~~~~~~
   arch/x86/kvm/vmx.c:11523:20: error: invalid storage class for function 'vmx_exit'
    static void __exit vmx_exit(void)
                       ^~~~~~~~
   In file included from arch/x86/kvm/vmx.c:25:0:
   include/linux/module.h:129:42: error: invalid storage class for function '__inittest'
     static inline initcall_t __maybe_unused __inittest(void)  \
                                             ^
   arch/x86/kvm/vmx.c:11533:1: note: in expansion of macro 'module_init'
    module_init(vmx_init)
    ^~~~~~~~~~~
>> arch/x86/kvm/vmx.c:11533:1: warning: 'alias' attribute ignored [-Wattributes]
   In file included from arch/x86/kvm/vmx.c:25:0:
   include/linux/module.h:135:42: error: invalid storage class for function '__exittest'
     static inline exitcall_t __maybe_unused __exittest(void)  \
                                             ^
   arch/x86/kvm/vmx.c:11534:1: note: in expansion of macro 'module_exit'
    module_exit(vmx_exit)
    ^~~~~~~~~~~
   arch/x86/kvm/vmx.c:11534:1: warning: 'alias' attribute ignored [-Wattributes]
   arch/x86/kvm/vmx.c:11534:1: error: expected declaration or statement at end of input
   arch/x86/kvm/vmx.c:7053:21: warning: unused variable 'cs' [-Wunused-variable]
     struct kvm_segment cs;
                        ^~
   arch/x86/kvm/vmx.c: At top level:
   arch/x86/kvm/vmx.c:908:22: warning: 'nested_ept_get_cr3' used but never defined
    static unsigned long nested_ept_get_cr3(struct kvm_vcpu *vcpu);
                         ^~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:910:13: warning: 'vmx_xsaves_supported' used but never defined
    static bool vmx_xsaves_supported(void);
                ^~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:918:13: warning: 'copy_vmcs12_to_shadow' declared 'static' but never defined [-Wunused-function]
    static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx);
                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:919:13: warning: 'copy_shadow_to_vmcs12' used but never defined
    static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx);
                ^~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:1383:13: warning: 'nested_vmx_vmexit' used but never defined
    static void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 exit_reason,
                ^~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:1386:13: warning: 'nested_vmx_entry_failure' used but never defined
    static void nested_vmx_entry_failure(struct kvm_vcpu *vcpu,
                ^~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:3221:13: warning: 'vmx_leave_nested' used but never defined
    static void vmx_leave_nested(struct kvm_vcpu *vcpu);
                ^~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11032:13: warning: 'nested_vmx_entry_failure' defined but not used [-Wunused-function]
    static void nested_vmx_entry_failure(struct kvm_vcpu *vcpu,
                ^~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:11016:13: warning: 'vmx_leave_nested' defined but not used [-Wunused-function]
    static void vmx_leave_nested(struct kvm_vcpu *vcpu)
                ^~~~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:10374:12: warning: 'nested_vmx_run' defined but not used [-Wunused-function]
    static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch)
               ^~~~~~~~~~~~~~
   arch/x86/kvm/vmx.c:7050:12: warning: 'handle_vmon' defined but not used [-Wunused-function]
    static int handle_vmon(struct kvm_vcpu *vcpu)
               ^~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/alias +11533 arch/x86/kvm/vmx.c

8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11517  			   crash_vmclear_local_loaded_vmcss);
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11518  #endif
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11519  
fdef3ad1 drivers/kvm/vmx.c  He, Qing      2007-04-30  11520  	return 0;
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11521  }
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11522  
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11523  static void __exit vmx_exit(void)
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11524  {
2965faa5 arch/x86/kvm/vmx.c Dave Young    2015-09-09  11525  #ifdef CONFIG_KEXEC_CORE
3b63a43f arch/x86/kvm/vmx.c Monam Agarwal 2014-03-22  11526  	RCU_INIT_POINTER(crash_vmclear_loaded_vmcss, NULL);
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11527  	synchronize_rcu();
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11528  #endif
8f536b76 arch/x86/kvm/vmx.c Zhang Yanfei  2012-12-06  11529  
cb498ea2 drivers/kvm/vmx.c  Zhang Xiantao 2007-11-14  11530  	kvm_exit();
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11531  }
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11532  
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10 @11533  module_init(vmx_init)
6aa8b732 drivers/kvm/vmx.c  Avi Kivity    2006-12-10  11534  module_exit(vmx_exit)

:::::: The code at line 11533 was first introduced by commit
:::::: 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 [PATCH] kvm: userspace interface

:::::: TO: Avi Kivity <avi@xxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux