Re: [PATCH 03/10] X86/nVMX: Update the PML table without mapping and unmapping the page

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

 



Hi KarimAllah,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.16-rc2 next-20180222]
[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]

url:    https://github.com/0day-ci/linux/commits/KarimAllah-Ahmed/KVM-X86-Handle-guest-memory-that-does-not-have-a-struct-page/20180223-064826
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   arch/x86/kvm/vmx.c: In function 'vmx_write_pml_buffer':
>> arch/x86/kvm/vmx.c:11951:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      dst = (gpa_t)(((u64 *)vmcs12->pml_address) + vmcs12->guest_pml_index);
                     ^
>> arch/x86/kvm/vmx.c:11951:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      dst = (gpa_t)(((u64 *)vmcs12->pml_address) + vmcs12->guest_pml_index);
            ^

vim +11951 arch/x86/kvm/vmx.c

 11926	
 11927	static int vmx_write_pml_buffer(struct kvm_vcpu *vcpu)
 11928	{
 11929		struct vmcs12 *vmcs12;
 11930		struct vcpu_vmx *vmx = to_vmx(vcpu);
 11931		gpa_t gpa, dst;
 11932	
 11933		if (is_guest_mode(vcpu)) {
 11934			WARN_ON_ONCE(vmx->nested.pml_full);
 11935	
 11936			/*
 11937			 * Check if PML is enabled for the nested guest.
 11938			 * Whether eptp bit 6 is set is already checked
 11939			 * as part of A/D emulation.
 11940			 */
 11941			vmcs12 = get_vmcs12(vcpu);
 11942			if (!nested_cpu_has_pml(vmcs12))
 11943				return 0;
 11944	
 11945			if (vmcs12->guest_pml_index >= PML_ENTITY_NUM) {
 11946				vmx->nested.pml_full = true;
 11947				return 1;
 11948			}
 11949	
 11950			gpa = vmcs_read64(GUEST_PHYSICAL_ADDRESS) & ~0xFFFull;
 11951			dst = (gpa_t)(((u64 *)vmcs12->pml_address) + vmcs12->guest_pml_index);
 11952	
 11953			if (kvm_write_guest(vcpu->kvm, dst, &gpa, sizeof(gpa)))
 11954				return 0;
 11955	
 11956			vmcs12->guest_pml_index--;
 11957		}
 11958	
 11959		return 0;
 11960	}
 11961	

---
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