On Fri, 28 Jul 2023 17:51:55 -0700, Sean Christopherson wrote: > Rework the handling of !visible guest root gfns to wait until the guest > actually tries to access memory before synthesizing a fault. KVM currently > just immediately synthesizes triple fault, which causes problems for nVMX > and nSVM as immediately injecting a fault causes KVM to try and forward the > fault to L1 (as a VM-Exit) before completing nested VM-Enter, e.g. if L1 > runs L2 with a "bad" nested TDP root. > > [...] With some trepidation that I'm overlooking something, applied to kvm-x86 mmu. Patches 1-4 are worthwhile on their own, so even if the actual fix is wildly broken somehow and needs to be reverted, it'll just be that one commit that gets nuked. [1/5] KVM: x86/mmu: Add helper to convert root hpa to shadow page https://github.com/kvm-x86/linux/commit/732f57612d5c [2/5] KVM: x86/mmu: Harden new PGD against roots without shadow pages https://github.com/kvm-x86/linux/commit/9e3f832edfca [3/5] KVM: x86/mmu: Harden TDP MMU iteration against root w/o shadow page https://github.com/kvm-x86/linux/commit/004c297c327f [4/5] KVM: x86/mmu: Disallow guest from using !visible slots for page tables https://github.com/kvm-x86/linux/commit/81d4621b7d9f [5/5] KVM: x86/mmu: Use dummy root, backed by zero page, for !visible guest roots https://github.com/kvm-x86/linux/commit/a328a359d99b -- https://github.com/kvm-x86/linux/tree/next https://github.com/kvm-x86/linux/tree/fixes