On Fri, Jun 11, 2021, Paolo Bonzini wrote: > On 11/06/21 00:00, Sean Christopherson wrote: > > things like the number of levels in the guest's page tables are > > surprisingly important when walking the guest page tables > > Along which path though? I would have naively expected those to be driven > only by the context->root_level. The functional code is driven by context->root_level, but if KVM doesn't include the level in the mmu_role then it will fail to update context->root_level when L2 changes from 32-bit PAE to 64-bit. If all the CR0/CR4/EFER bits remain the same, only the level will differ. Without this patch, role.level is always '0' for the nested MMU.