Re[PATCH 3/6] KVM: nVMX: properly handle errors in nested_vmx_handle_enlightened_vmptrld()

From: linmiaohe
Date: Mon Mar 09 2020 - 22:38:22 EST


Hi:
Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> writes:
>nested_vmx_handle_enlightened_vmptrld() fails in two cases:
>- when we fail to kvm_vcpu_map() the supplied GPA
>- when revision_id is incorrect.
>Genuine Hyper-V raises #UD in the former case (at least with *some* incorrect GPAs) and does VMfailInvalid() in the later. KVM doesn't do anything so L1 just gets stuck retrying the same faulty VMLAUNCH.
>
>nested_vmx_handle_enlightened_vmptrld() has two call sites:
>nested_vmx_run() and nested_get_vmcs12_pages(). The former needs to queue do much: the failure there happens after migration when L2 was running (and
>L1 did something weird like wrote to VP assist page from a different vCPU), just kill L1 with KVM_EXIT_INTERNAL_ERROR.
>
>Reported-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
>Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>

Thanks for fixing this issue!:) The code looks fine for and it should works as far as I can say.
Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>