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:
committed by
Paolo Bonzini
parent
61a1773e2e
commit
a91f387b4b
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user