KVM: x86/mmu: Sync roots after MMU load iff load as successful

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>
This commit is contained in:
Sean Christopherson
2021-03-04 17:11:00 -08:00
committed by Paolo Bonzini
parent 61a1773e2e
commit a91f387b4b

View File

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