KVM: x86/mmu: Sync roots after MMU load iff load as successful
authorSean Christopherson <seanjc@google.com>
Fri, 5 Mar 2021 01:11:00 +0000 (17:11 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Mar 2021 08:42:24 +0000 (04:42 -0400)
For clarity, explicitly skip syncing roots if the MMU load failed
instead of relying on the !VALID_PAGE check in kvm_mmu_sync_roots().

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210305011101.3597423-17-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c

index 7cd915b..45039e7 100644 (file)
@@ -4836,10 +4836,11 @@ int kvm_mmu_load(struct kvm_vcpu *vcpu)
        else
                r = mmu_alloc_shadow_roots(vcpu);
        write_unlock(&vcpu->kvm->mmu_lock);
-
-       kvm_mmu_sync_roots(vcpu);
        if (r)
                goto out;
+
+       kvm_mmu_sync_roots(vcpu);
+
        kvm_mmu_load_pgd(vcpu);
        static_call(kvm_x86_tlb_flush_current)(vcpu);
 out: