Two fixes for bugs that were introduced along with the TDP MMU (though I strongly suspect only the one reported by Richard, fixed in patch 2/4, is hittable in practice). Two additional cleanup on top to try and make the code a bit more readable and shave a few cycles. Sean Christopherson (4): KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte() KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE KVM: x86/mmu: Use raw level to index into MMIO walks' sptes array KVM: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte() arch/x86/kvm/mmu/mmu.c | 53 +++++++++++++++++++++----------------- arch/x86/kvm/mmu/tdp_mmu.c | 9 ++++--- arch/x86/kvm/mmu/tdp_mmu.h | 4 ++- 3 files changed, 39 insertions(+), 27 deletions(-) -- 2.29.2.684.gfbc64c5ab5-goog