summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/kvm_host.h
diff options
context:
space:
mode:
authorJunaid Shahid <junaids@google.com>2020-03-20 14:28:00 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2020-04-15 12:08:49 -0400
commitd6e3f8385d27e6357221e01158fdd369f762cd0f (patch)
treed485f5f3f2969deb662ba35945a0a79686d6bd0d /arch/x86/include/asm/kvm_host.h
parentf8aa7e3958bc433087ae7b9d7f24a92036c41141 (diff)
downloadlwn-d6e3f8385d27e6357221e01158fdd369f762cd0f.tar.gz
lwn-d6e3f8385d27e6357221e01158fdd369f762cd0f.zip
KVM: nVMX: Invalidate all roots when emulating INVVPID without EPT
Free all roots when emulating INVVPID for L1 and EPT is disabled, as outstanding changes to the page tables managed by L1 need to be recognized. Because L1 and L2 share an MMU when EPT is disabled, and because VPID is not tracked by the MMU role, all roots in the current MMU (root_mmu) need to be freed, otherwise a future nested VM-Enter or VM-Exit could do a fast CR3 switch (without a flush/sync) and consume stale SPTEs. Fixes: 5c614b3583e7b ("KVM: nVMX: nested VPID emulation") Signed-off-by: Junaid Shahid <junaids@google.com> [sean: ported to upstream KVM, reworded the comment and changelog] Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Message-Id: <20200320212833.3507-5-sean.j.christopherson@intel.com> Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
0 files changed, 0 insertions, 0 deletions