mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 16:21:45 -04:00
Revert "KVM: X86: Update mmu->pdptrs only when it is changed"
This reverts commit24cd19a28c. Sean Christopherson reports: "Commit24cd19a28c('KVM: X86: Update mmu->pdptrs only when it is changed') breaks nested VMs with EPT in L0 and PAE shadow paging in L2. Reproducing is trivial, just disable EPT in L1 and run a VM. I haven't investigating how it breaks things." Reviewed-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
@@ -841,12 +841,9 @@ int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3)
|
||||
}
|
||||
}
|
||||
|
||||
kvm_register_mark_available(vcpu, VCPU_EXREG_PDPTR);
|
||||
if (memcmp(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs))) {
|
||||
memcpy(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs));
|
||||
kvm_register_mark_dirty(vcpu, VCPU_EXREG_PDPTR);
|
||||
kvm_make_request(KVM_REQ_LOAD_MMU_PGD, vcpu);
|
||||
}
|
||||
memcpy(mmu->pdptrs, pdpte, sizeof(mmu->pdptrs));
|
||||
kvm_register_mark_dirty(vcpu, VCPU_EXREG_PDPTR);
|
||||
kvm_make_request(KVM_REQ_LOAD_MMU_PGD, vcpu);
|
||||
vcpu->arch.pdptrs_from_userspace = false;
|
||||
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user