Re: [Question] some questions about vmx
From: Vitaly Kuznetsov
Date: Thu Feb 06 2020 - 07:00:11 EST
linmiaohe <linmiaohe@xxxxxxxxxx> writes:
> About nWMX.
> When nested_vmx_handle_enlightened_vmptrld() return 0, it do not inject any exception or set rflags to
> Indicate VMLAUNCH instruction failed and skip this instruction. This would cause nested_vmx_run()
> return 1 and resume guest and retry this instruction. When the error causing nested_vmx_handle_enlightened_vmptrld()
> failed can't be handled, would deadloop ouucr ?
Yes, it seems it can.
nested_vmx_handle_enlightened_vmptrld() has two possible places where it
can fail:
kvm_vcpu_map() -- meaning that the guest passed some invalid GPA.
revision id check -- meaning that the supplied eVMCS is
unsupported/garbage.
I think the right behavior would be to nested_vmx_failInvalid() in both
these cases. We can also check what genuing Hyper-V does.
--
Vitaly