lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202004272309.4Ez11Tzl%lkp@intel.com>
Date:   Tue, 28 Apr 2020 00:23:43 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Like Xu <like.xu@...ux.intel.com>,
        Paolo Bonzini <pbonzini@...hat.com>
Cc:     kbuild-all@...ts.01.org,
        Sean Christopherson <sean.j.christopherson@...el.com>,
        Vitaly Kuznetsov <vkuznets@...hat.com>,
        Wanpeng Li <wanpengli@...cent.com>,
        Jim Mattson <jmattson@...gle.com>,
        Joerg Roedel <joro@...tes.org>, kvm@...r.kernel.org,
        linux-kernel@...r.kernel.org, wei.w.wang@...el.com,
        ak@...ux.intel.com
Subject: Re: [PATCH v10 06/11] KVM: x86: Add KVM_CAP_X86_GUEST_LBR to
 dis/enable LBR from user-space

Hi Like,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/perf/core]
[also build test WARNING on vhost/linux-next v5.7-rc3 next-20200424]
[cannot apply to kvm/linux-next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Like-Xu/Guest-Last-Branch-Recording-Enabling/20200426-123735
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 87cfeb1920f84f465a738d4c6589033eefa20b45
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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

All warnings (new ones prefixed by >>):

   arch/x86/kvm/x86.c: In function 'kvm_vm_ioctl_enable_cap':
>> arch/x86/kvm/x86.c:4909:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      if (copy_to_user((void __user *)cap->args[1],
                       ^

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

  4829	
  4830	int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
  4831				    struct kvm_enable_cap *cap)
  4832	{
  4833		int r;
  4834	
  4835		if (cap->flags)
  4836			return -EINVAL;
  4837	
  4838		switch (cap->cap) {
  4839		case KVM_CAP_DISABLE_QUIRKS:
  4840			kvm->arch.disabled_quirks = cap->args[0];
  4841			r = 0;
  4842			break;
  4843		case KVM_CAP_SPLIT_IRQCHIP: {
  4844			mutex_lock(&kvm->lock);
  4845			r = -EINVAL;
  4846			if (cap->args[0] > MAX_NR_RESERVED_IOAPIC_PINS)
  4847				goto split_irqchip_unlock;
  4848			r = -EEXIST;
  4849			if (irqchip_in_kernel(kvm))
  4850				goto split_irqchip_unlock;
  4851			if (kvm->created_vcpus)
  4852				goto split_irqchip_unlock;
  4853			r = kvm_setup_empty_irq_routing(kvm);
  4854			if (r)
  4855				goto split_irqchip_unlock;
  4856			/* Pairs with irqchip_in_kernel. */
  4857			smp_wmb();
  4858			kvm->arch.irqchip_mode = KVM_IRQCHIP_SPLIT;
  4859			kvm->arch.nr_reserved_ioapic_pins = cap->args[0];
  4860			r = 0;
  4861	split_irqchip_unlock:
  4862			mutex_unlock(&kvm->lock);
  4863			break;
  4864		}
  4865		case KVM_CAP_X2APIC_API:
  4866			r = -EINVAL;
  4867			if (cap->args[0] & ~KVM_X2APIC_API_VALID_FLAGS)
  4868				break;
  4869	
  4870			if (cap->args[0] & KVM_X2APIC_API_USE_32BIT_IDS)
  4871				kvm->arch.x2apic_format = true;
  4872			if (cap->args[0] & KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK)
  4873				kvm->arch.x2apic_broadcast_quirk_disabled = true;
  4874	
  4875			r = 0;
  4876			break;
  4877		case KVM_CAP_X86_DISABLE_EXITS:
  4878			r = -EINVAL;
  4879			if (cap->args[0] & ~KVM_X86_DISABLE_VALID_EXITS)
  4880				break;
  4881	
  4882			if ((cap->args[0] & KVM_X86_DISABLE_EXITS_MWAIT) &&
  4883				kvm_can_mwait_in_guest())
  4884				kvm->arch.mwait_in_guest = true;
  4885			if (cap->args[0] & KVM_X86_DISABLE_EXITS_HLT)
  4886				kvm->arch.hlt_in_guest = true;
  4887			if (cap->args[0] & KVM_X86_DISABLE_EXITS_PAUSE)
  4888				kvm->arch.pause_in_guest = true;
  4889			if (cap->args[0] & KVM_X86_DISABLE_EXITS_CSTATE)
  4890				kvm->arch.cstate_in_guest = true;
  4891			r = 0;
  4892			break;
  4893		case KVM_CAP_MSR_PLATFORM_INFO:
  4894			kvm->arch.guest_can_read_msr_platform_info = cap->args[0];
  4895			r = 0;
  4896			break;
  4897		case KVM_CAP_EXCEPTION_PAYLOAD:
  4898			kvm->arch.exception_payload_enabled = cap->args[0];
  4899			r = 0;
  4900			break;
  4901		case KVM_CAP_X86_GUEST_LBR:
  4902			r = -EINVAL;
  4903			if (!cap->args[0] || !kvm->vcpus[0])
  4904				break;
  4905			if (!kvm_pmu_lbr_setup(kvm->vcpus[0]))
  4906				break;
  4907			if (vcpu_to_pmu(kvm->vcpus[0])->version < 2)
  4908				break;
> 4909			if (copy_to_user((void __user *)cap->args[1],
  4910				&kvm->arch.lbr, sizeof(struct x86_pmu_lbr)))
  4911				break;
  4912			kvm->arch.lbr_in_guest = !!cap->args[0];
  4913			r = 0;
  4914			break;
  4915		default:
  4916			r = -EINVAL;
  4917			break;
  4918		}
  4919		return r;
  4920	}
  4921	

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

Download attachment ".config.gz" of type "application/gzip" (72228 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ