KVM: nSVM: Don't sync tlb_ctl back to vmcb12 on nested VM-Exit
authorMaxim Levitsky <mlevitsk@redhat.com>
Tue, 29 Nov 2022 19:37:07 +0000 (21:37 +0200)
committerSean Christopherson <seanjc@google.com>
Tue, 31 Jan 2023 20:56:26 +0000 (12:56 -0800)
Don't sync the TLB control field from vmcb02 to vmcs12 on nested VM-Exit.
Per AMD's APM, the field is not modified by hardware:

  The VMRUN instruction reads, but does not change, the value of the
  TLB_CONTROL field

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Tested-by: Santosh Shukla <Santosh.Shukla@amd.com>
Link: https://lore.kernel.org/r/20221129193717.513824-2-mlevitsk@redhat.com
[sean: massage changelog]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/nested.c

index 700df66d23c745c4b3facef6b051ca7ae0edfbf8..05d38944a6c0f6e3832c8a97cf82e32580b4c738 100644 (file)
@@ -1008,7 +1008,6 @@ int nested_svm_vmexit(struct vcpu_svm *svm)
                vmcb12->control.next_rip  = vmcb02->control.next_rip;
 
        vmcb12->control.int_ctl           = svm->nested.ctl.int_ctl;
-       vmcb12->control.tlb_ctl           = svm->nested.ctl.tlb_ctl;
        vmcb12->control.event_inj         = svm->nested.ctl.event_inj;
        vmcb12->control.event_inj_err     = svm->nested.ctl.event_inj_err;