public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* Re: [RFC PATCH] KVM: x86: add kvm per-vCPU exits disable capability
       [not found] <20211214033227.264714-1-kechenl@nvidia.com>
@ 2021-12-14  7:23 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-12-14  7:23 UTC (permalink / raw)
  To: Kechen Lu; +Cc: llvm, kbuild-all

Hi Kechen,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on kvm/queue]
[also build test WARNING on mst-vhost/linux-next tip/master linux/master linus/master v5.16-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Kechen-Lu/KVM-x86-add-kvm-per-vCPU-exits-disable-capability/20211214-113446
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
config: i386-buildonly-randconfig-r004-20211213 (https://download.01.org/0day-ci/archive/20211214/202112141509.dBVwl6Ux-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a2ddb6c8ac29412b1361810972e15221fa021c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/08f20df47a09e327aee3e73a8d7c77b1ffc01bc0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Kechen-Lu/KVM-x86-add-kvm-per-vCPU-exits-disable-capability/20211214-113446
        git checkout 08f20df47a09e327aee3e73a8d7c77b1ffc01bc0
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kvm/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> arch/x86/kvm/x86.c:5775:23: warning: shift count >= width of type [-Wshift-count-overflow]
                   if (cap->args[0] & ~KVM_X86_DISABLE_VALID_EXITS)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/uapi/linux/kvm.h:806:12: note: expanded from macro 'KVM_X86_DISABLE_VALID_EXITS'
                                                 KVM_X86_DISABLE_EXITS_PER_VCPU)
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/uapi/linux/kvm.h:801:51: note: expanded from macro 'KVM_X86_DISABLE_EXITS_PER_VCPU'
   #define KVM_X86_DISABLE_EXITS_PER_VCPU       (1UL << 63)
                                                     ^  ~~
   arch/x86/kvm/x86.c:5787:23: warning: shift count >= width of type [-Wshift-count-overflow]
                   if ((cap->args[0] & KVM_X86_DISABLE_EXITS_PER_VCPU) &&
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/uapi/linux/kvm.h:801:51: note: expanded from macro 'KVM_X86_DISABLE_EXITS_PER_VCPU'
   #define KVM_X86_DISABLE_EXITS_PER_VCPU       (1UL << 63)
                                                     ^  ~~
   arch/x86/kvm/x86.c:2335:19: warning: unused function 'gtod_is_based_on_tsc' [-Wunused-function]
   static inline int gtod_is_based_on_tsc(int mode)
                     ^
   3 warnings generated.


vim +5775 arch/x86/kvm/x86.c

23d43cf998275bc Christoffer Dall    2012-07-24  5724  
e5d83c74a5800c2 Paolo Bonzini       2017-02-16  5725  int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
90de4a1875180f8 Nadav Amit          2015-04-13  5726  			    struct kvm_enable_cap *cap)
90de4a1875180f8 Nadav Amit          2015-04-13  5727  {
90de4a1875180f8 Nadav Amit          2015-04-13  5728  	int r;
90de4a1875180f8 Nadav Amit          2015-04-13  5729  
90de4a1875180f8 Nadav Amit          2015-04-13  5730  	if (cap->flags)
90de4a1875180f8 Nadav Amit          2015-04-13  5731  		return -EINVAL;
90de4a1875180f8 Nadav Amit          2015-04-13  5732  
90de4a1875180f8 Nadav Amit          2015-04-13  5733  	switch (cap->cap) {
90de4a1875180f8 Nadav Amit          2015-04-13  5734  	case KVM_CAP_DISABLE_QUIRKS:
90de4a1875180f8 Nadav Amit          2015-04-13  5735  		kvm->arch.disabled_quirks = cap->args[0];
90de4a1875180f8 Nadav Amit          2015-04-13  5736  		r = 0;
90de4a1875180f8 Nadav Amit          2015-04-13  5737  		break;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5738  	case KVM_CAP_SPLIT_IRQCHIP: {
49df6397edfc5a8 Steve Rutherford    2015-07-29  5739  		mutex_lock(&kvm->lock);
b053b2aef25d007 Steve Rutherford    2015-07-29  5740  		r = -EINVAL;
b053b2aef25d007 Steve Rutherford    2015-07-29  5741  		if (cap->args[0] > MAX_NR_RESERVED_IOAPIC_PINS)
b053b2aef25d007 Steve Rutherford    2015-07-29  5742  			goto split_irqchip_unlock;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5743  		r = -EEXIST;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5744  		if (irqchip_in_kernel(kvm))
49df6397edfc5a8 Steve Rutherford    2015-07-29  5745  			goto split_irqchip_unlock;
557abc40d121358 Paolo Bonzini       2016-06-13  5746  		if (kvm->created_vcpus)
49df6397edfc5a8 Steve Rutherford    2015-07-29  5747  			goto split_irqchip_unlock;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5748  		r = kvm_setup_empty_irq_routing(kvm);
5c0aea0e8d98e38 David Hildenbrand   2017-04-28  5749  		if (r)
49df6397edfc5a8 Steve Rutherford    2015-07-29  5750  			goto split_irqchip_unlock;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5751  		/* Pairs with irqchip_in_kernel. */
49df6397edfc5a8 Steve Rutherford    2015-07-29  5752  		smp_wmb();
49776faf93f8074 Radim Krčmář        2016-12-16  5753  		kvm->arch.irqchip_mode = KVM_IRQCHIP_SPLIT;
b053b2aef25d007 Steve Rutherford    2015-07-29  5754  		kvm->arch.nr_reserved_ioapic_pins = cap->args[0];
ef8b4b7203682cc Paolo Bonzini       2021-11-30  5755  		kvm_request_apicv_update(kvm, true, APICV_INHIBIT_REASON_ABSENT);
49df6397edfc5a8 Steve Rutherford    2015-07-29  5756  		r = 0;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5757  split_irqchip_unlock:
49df6397edfc5a8 Steve Rutherford    2015-07-29  5758  		mutex_unlock(&kvm->lock);
49df6397edfc5a8 Steve Rutherford    2015-07-29  5759  		break;
49df6397edfc5a8 Steve Rutherford    2015-07-29  5760  	}
3713131345fbea2 Radim Krčmář        2016-07-12  5761  	case KVM_CAP_X2APIC_API:
3713131345fbea2 Radim Krčmář        2016-07-12  5762  		r = -EINVAL;
3713131345fbea2 Radim Krčmář        2016-07-12  5763  		if (cap->args[0] & ~KVM_X2APIC_API_VALID_FLAGS)
3713131345fbea2 Radim Krčmář        2016-07-12  5764  			break;
3713131345fbea2 Radim Krčmář        2016-07-12  5765  
3713131345fbea2 Radim Krčmář        2016-07-12  5766  		if (cap->args[0] & KVM_X2APIC_API_USE_32BIT_IDS)
3713131345fbea2 Radim Krčmář        2016-07-12  5767  			kvm->arch.x2apic_format = true;
c519265f2aa348b Radim Krčmář        2016-07-12  5768  		if (cap->args[0] & KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK)
c519265f2aa348b Radim Krčmář        2016-07-12  5769  			kvm->arch.x2apic_broadcast_quirk_disabled = true;
3713131345fbea2 Radim Krčmář        2016-07-12  5770  
3713131345fbea2 Radim Krčmář        2016-07-12  5771  		r = 0;
3713131345fbea2 Radim Krčmář        2016-07-12  5772  		break;
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5773  	case KVM_CAP_X86_DISABLE_EXITS:
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5774  		r = -EINVAL;
4d5422cea3b61f1 Wanpeng Li          2018-03-12 @5775  		if (cap->args[0] & ~KVM_X86_DISABLE_VALID_EXITS)
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5776  			break;
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5777  
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5778  		if ((cap->args[0] & KVM_X86_DISABLE_EXITS_MWAIT) &&
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5779  			kvm_can_mwait_in_guest())
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5780  			kvm->arch.mwait_in_guest = true;
766d3571d8e50d3 Michael S. Tsirkin  2018-06-08  5781  		if (cap->args[0] & KVM_X86_DISABLE_EXITS_HLT)
caa057a2cad647f Wanpeng Li          2018-03-12  5782  			kvm->arch.hlt_in_guest = true;
b31c114b82b2b55 Wanpeng Li          2018-03-12  5783  		if (cap->args[0] & KVM_X86_DISABLE_EXITS_PAUSE)
b31c114b82b2b55 Wanpeng Li          2018-03-12  5784  			kvm->arch.pause_in_guest = true;
b51700632e0e532 Wanpeng Li          2019-05-21  5785  		if (cap->args[0] & KVM_X86_DISABLE_EXITS_CSTATE)
b51700632e0e532 Wanpeng Li          2019-05-21  5786  			kvm->arch.cstate_in_guest = true;
08f20df47a09e32 Kechen Lu           2021-12-13  5787  		if ((cap->args[0] & KVM_X86_DISABLE_EXITS_PER_VCPU) &&
08f20df47a09e32 Kechen Lu           2021-12-13  5788  			cap->args[1])
08f20df47a09e32 Kechen Lu           2021-12-13  5789  			kvm->arch.exits_disable_vcpu_mask = cap->args[1];
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5790  		r = 0;
4d5422cea3b61f1 Wanpeng Li          2018-03-12  5791  		break;
6fbbde9a1969dfb Drew Schmitt        2018-08-20  5792  	case KVM_CAP_MSR_PLATFORM_INFO:
6fbbde9a1969dfb Drew Schmitt        2018-08-20  5793  		kvm->arch.guest_can_read_msr_platform_info = cap->args[0];
6fbbde9a1969dfb Drew Schmitt        2018-08-20  5794  		r = 0;
c4f55198c7c2b87 Jim Mattson         2018-10-16  5795  		break;
c4f55198c7c2b87 Jim Mattson         2018-10-16  5796  	case KVM_CAP_EXCEPTION_PAYLOAD:
c4f55198c7c2b87 Jim Mattson         2018-10-16  5797  		kvm->arch.exception_payload_enabled = cap->args[0];
c4f55198c7c2b87 Jim Mattson         2018-10-16  5798  		r = 0;
6fbbde9a1969dfb Drew Schmitt        2018-08-20  5799  		break;
1ae099540e8c7f1 Alexander Graf      2020-09-25  5800  	case KVM_CAP_X86_USER_SPACE_MSR:
1ae099540e8c7f1 Alexander Graf      2020-09-25  5801  		kvm->arch.user_space_msr_mask = cap->args[0];
1ae099540e8c7f1 Alexander Graf      2020-09-25  5802  		r = 0;
1ae099540e8c7f1 Alexander Graf      2020-09-25  5803  		break;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5804  	case KVM_CAP_X86_BUS_LOCK_EXIT:
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5805  		r = -EINVAL;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5806  		if (cap->args[0] & ~KVM_BUS_LOCK_DETECTION_VALID_MODE)
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5807  			break;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5808  
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5809  		if ((cap->args[0] & KVM_BUS_LOCK_DETECTION_OFF) &&
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5810  		    (cap->args[0] & KVM_BUS_LOCK_DETECTION_EXIT))
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5811  			break;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5812  
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5813  		if (kvm_has_bus_lock_exit &&
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5814  		    cap->args[0] & KVM_BUS_LOCK_DETECTION_EXIT)
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5815  			kvm->arch.bus_lock_detection_enabled = true;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5816  		r = 0;
fe6b6bc802b4008 Chenyi Qiang        2020-11-06  5817  		break;
fe7e948837f312d Sean Christopherson 2021-04-12  5818  #ifdef CONFIG_X86_SGX_KVM
fe7e948837f312d Sean Christopherson 2021-04-12  5819  	case KVM_CAP_SGX_ATTRIBUTE: {
fe7e948837f312d Sean Christopherson 2021-04-12  5820  		unsigned long allowed_attributes = 0;
fe7e948837f312d Sean Christopherson 2021-04-12  5821  
fe7e948837f312d Sean Christopherson 2021-04-12  5822  		r = sgx_set_attribute(&allowed_attributes, cap->args[0]);
fe7e948837f312d Sean Christopherson 2021-04-12  5823  		if (r)
fe7e948837f312d Sean Christopherson 2021-04-12  5824  			break;
fe7e948837f312d Sean Christopherson 2021-04-12  5825  
fe7e948837f312d Sean Christopherson 2021-04-12  5826  		/* KVM only supports the PROVISIONKEY privileged attribute. */
fe7e948837f312d Sean Christopherson 2021-04-12  5827  		if ((allowed_attributes & SGX_ATTR_PROVISIONKEY) &&
fe7e948837f312d Sean Christopherson 2021-04-12  5828  		    !(allowed_attributes & ~SGX_ATTR_PROVISIONKEY))
fe7e948837f312d Sean Christopherson 2021-04-12  5829  			kvm->arch.sgx_provisioning_allowed = true;
fe7e948837f312d Sean Christopherson 2021-04-12  5830  		else
fe7e948837f312d Sean Christopherson 2021-04-12  5831  			r = -EINVAL;
fe7e948837f312d Sean Christopherson 2021-04-12  5832  		break;
fe7e948837f312d Sean Christopherson 2021-04-12  5833  	}
fe7e948837f312d Sean Christopherson 2021-04-12  5834  #endif
54526d1fd59338f Nathan Tempelman    2021-04-08  5835  	case KVM_CAP_VM_COPY_ENC_CONTEXT_FROM:
54526d1fd59338f Nathan Tempelman    2021-04-08  5836  		r = -EINVAL;
54526d1fd59338f Nathan Tempelman    2021-04-08  5837  		if (kvm_x86_ops.vm_copy_enc_context_from)
54526d1fd59338f Nathan Tempelman    2021-04-08  5838  			r = kvm_x86_ops.vm_copy_enc_context_from(kvm, cap->args[0]);
54526d1fd59338f Nathan Tempelman    2021-04-08  5839  		return r;
b56639318bb2be6 Peter Gonda         2021-10-21  5840  	case KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM:
b56639318bb2be6 Peter Gonda         2021-10-21  5841  		r = -EINVAL;
b56639318bb2be6 Peter Gonda         2021-10-21  5842  		if (kvm_x86_ops.vm_move_enc_context_from)
b56639318bb2be6 Peter Gonda         2021-10-21  5843  			r = kvm_x86_ops.vm_move_enc_context_from(
b56639318bb2be6 Peter Gonda         2021-10-21  5844  				kvm, cap->args[0]);
b56639318bb2be6 Peter Gonda         2021-10-21  5845  		return r;
0dbb11230437895 Ashish Kalra        2021-06-08  5846  	case KVM_CAP_EXIT_HYPERCALL:
0dbb11230437895 Ashish Kalra        2021-06-08  5847  		if (cap->args[0] & ~KVM_EXIT_HYPERCALL_VALID_MASK) {
0dbb11230437895 Ashish Kalra        2021-06-08  5848  			r = -EINVAL;
0dbb11230437895 Ashish Kalra        2021-06-08  5849  			break;
0dbb11230437895 Ashish Kalra        2021-06-08  5850  		}
0dbb11230437895 Ashish Kalra        2021-06-08  5851  		kvm->arch.hypercall_exit_enabled = cap->args[0];
0dbb11230437895 Ashish Kalra        2021-06-08  5852  		r = 0;
0dbb11230437895 Ashish Kalra        2021-06-08  5853  		break;
19238e75bd8ed8f Aaron Lewis         2021-05-10  5854  	case KVM_CAP_EXIT_ON_EMULATION_FAILURE:
19238e75bd8ed8f Aaron Lewis         2021-05-10  5855  		r = -EINVAL;
19238e75bd8ed8f Aaron Lewis         2021-05-10  5856  		if (cap->args[0] & ~1)
19238e75bd8ed8f Aaron Lewis         2021-05-10  5857  			break;
19238e75bd8ed8f Aaron Lewis         2021-05-10  5858  		kvm->arch.exit_on_emulation_error = cap->args[0];
19238e75bd8ed8f Aaron Lewis         2021-05-10  5859  		r = 0;
19238e75bd8ed8f Aaron Lewis         2021-05-10  5860  		break;
90de4a1875180f8 Nadav Amit          2015-04-13  5861  	default:
90de4a1875180f8 Nadav Amit          2015-04-13  5862  		r = -EINVAL;
90de4a1875180f8 Nadav Amit          2015-04-13  5863  		break;
90de4a1875180f8 Nadav Amit          2015-04-13  5864  	}
90de4a1875180f8 Nadav Amit          2015-04-13  5865  	return r;
90de4a1875180f8 Nadav Amit          2015-04-13  5866  }
90de4a1875180f8 Nadav Amit          2015-04-13  5867  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-14  7:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20211214033227.264714-1-kechenl@nvidia.com>
2021-12-14  7:23 ` [RFC PATCH] KVM: x86: add kvm per-vCPU exits disable capability kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox