From: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Wed, 25 Sep 2019 15:30:35 +0200
Patch-mainline: v5.4-rc1
Subject: KVM: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386
Git-commit: cab01850277a827c57270bba48be1d8fe312643d
References: fate#323887
The following was reported on i386:
arch/x86/kvm/vmx/vmx.c: In function 'hv_enable_direct_tlbflush':
arch/x86/kvm/vmx/vmx.c:503:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
pr_debugs() in this function are more or less useless, let's just
remove them. evmcs->hv_vm_id can use 'unsigned long' instead of 'u64'.
Also, simplify the code a little bit.
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Olaf Hering <ohering@suse.de>
---
arch/x86/kvm/vmx/vmx.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 1852706e6acc..d4575ffb3cec 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -537,23 +537,19 @@ static int hv_enable_direct_tlbflush(struct kvm_vcpu *vcpu)
* Synthetic VM-Exit is not enabled in current code and so All
* evmcs in singe VM shares same assist page.
*/
- if (!*p_hv_pa_pg) {
+ if (!*p_hv_pa_pg)
*p_hv_pa_pg = kzalloc(PAGE_SIZE, GFP_KERNEL);
- if (!*p_hv_pa_pg)
- return -ENOMEM;
- pr_debug("KVM: Hyper-V: allocated PA_PG for %llx\n",
- (u64)&vcpu->kvm);
- }
+
+ if (!*p_hv_pa_pg)
+ return -ENOMEM;
evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs;
evmcs->partition_assist_page =
__pa(*p_hv_pa_pg);
- evmcs->hv_vm_id = (u64)vcpu->kvm;
+ evmcs->hv_vm_id = (unsigned long)vcpu->kvm;
evmcs->hv_enlightenments_control.nested_flush_hypercall = 1;
- pr_debug("KVM: Hyper-V: enabled DIRECT flush for %llx\n",
- (u64)vcpu->kvm);
return 0;
}