Re: [PATCH v2 0/2] x86/kvm/nVMX: fix Enlightened VMCLEAR

From: Paolo Bonzini
Date: Tue Jul 02 2019 - 12:30:48 EST


On 28/06/19 13:23, Vitaly Kuznetsov wrote:
> VMCLEAR implementation for Enlightened VMCS is not entirely correct
> when something else than the currently active eVMCS on the calling vCPU
> is targeted. In case there's no currently active eVMCS on the calling vCPU
> we are corrupting the targeted area by writing to the non-existent
> launch_state field.
>
> Fix the logic by always treating the targeted area as 'enlightened' in case
> Enlightened VMEntry is enabled on the calling vCPU.
>
> Changes since v1:
> - 'evmcs_vmptr' -> 'evmcs_gpa' [Paolo Bonzini]
> - avoid nested_release_evmcs() in handle_vmclear even for the currently
> active eVMCS on the calling vCPU [Liran Alon], PATCH1 added to support
> the change.
>
> Vitaly Kuznetsov (2):
> x86/KVM/nVMX: don't use clean fields data on enlightened VMLAUNCH
> x86/kvm/nVMX: fix VMCLEAR when Enlightened VMCS is in use
>
> arch/x86/kvm/vmx/evmcs.c | 18 ++++++++++++++
> arch/x86/kvm/vmx/evmcs.h | 1 +
> arch/x86/kvm/vmx/nested.c | 52 ++++++++++++++++++++++-----------------
> 3 files changed, 49 insertions(+), 22 deletions(-)
>

Queued, thanks.

Paolo