• Maxim Levitsky's avatar
    KVM: nVMX: Sync unsync'd vmcs02 state to vmcs12 on migration · d51e1d3f
    Maxim Levitsky authored
    Even when we are outside the nested guest, some vmcs02 fields
    may not be in sync vs vmcs12.  This is intentional, even across
    nested VM-exit, because the sync can be delayed until the nested
    hypervisor performs a VMCLEAR or a VMREAD/VMWRITE that affects those
    rarely accessed fields.
    
    However, during KVM_GET_NESTED_STATE, the vmcs12 has to be up to date to
    be able to restore it.  To fix that, call copy_vmcs02_to_vmcs12_rare()
    before the vmcs12 contents are copied to userspace.
    
    Fixes: 7952d769
    
     ("KVM: nVMX: Sync rarely accessed guest fields only when needed")
    Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
    Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
    Message-Id: <20210114205449.8715-2-mlevitsk@redhat.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    d51e1d3f
nested.c 202 KB