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

kbuild test robot
2018-02-23T02:02:43Z

[-- Attachment #1: Type: text/plain, Size: 2361 bytes --]

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 #2: .config.gz --]
[-- Type: application/gzip, Size: 63101 bytes --]