Re: [PATCH v2] KVM: vmx: fix build warnings in hv_enable_direct_tlbflush() on i386

From: Paolo Bonzini
Date: Wed Sep 25 2019 - 09:31:35 EST


On 25/09/19 15:30, Vitaly Kuznetsov wrote:
> 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@xxxxxxxxx>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
> ---
> 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 a7c9922e3905..d5b978068209 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -495,23 +495,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;
> }
>
>

Queued, thanks.

Paolo