On Wed, Sep 08, 2021 at 11:55:59AM +0200, Vitaly Kuznetsov wrote: > Indeed, > > Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > > On a slightly related note: we don't seem to reset > 'vmx->nested.vmxon_ptr' upon VMXOFF emulation; this is not a problem per > se as we never access it when !vmx->nested.vmxon but I'd still suggest > we do something like > > diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c > index bc6327950657..8beb41d02d21 100644 > --- a/arch/x86/kvm/vmx/nested.c > +++ b/arch/x86/kvm/vmx/nested.c > @@ -290,6 +290,7 @@ static void free_nested(struct kvm_vcpu *vcpu) > > vmx->nested.vmxon = false; > vmx->nested.smm.vmxon = false; > + vmx->nested.vmxon_ptr = -1ull; > free_vpid(vmx->nested.vpid02); > vmx->nested.posted_intr_nv = -1; > vmx->nested.current_vmptr = -1ull; > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index d7c5257eb5c0..2214e6bd4713 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -6884,6 +6884,7 @@ static int vmx_create_vcpu(struct kvm_vcpu *vcpu) > > vcpu_setup_sgx_lepubkeyhash(vcpu); > > + vmx->nested.vmxon_ptr = -1ull; > vmx->nested.posted_intr_nv = -1; > vmx->nested.current_vmptr = -1ull; > vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID; > > to avoid issues in the future. > Thanks, Vitaly. And above suggestion sounds reasonable to me. :) I can add this in V2 later, if no one objects. B.R. Yu