On 2021/12/9 09:16, Sean Christopherson wrote:
On Wed, Nov 24, 2021, Lai Jiangshan wrote:
From: Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx>
If the is an L1 with nNPT in 32bit, the shadow walk starts with
pae_root.
Fixes: a717a780fc4e ("KVM: x86/mmu: Support shadowing NPT when 5-level paging is enabled in host)
Have you actually run with 5-level nNPT? I don't have access to hardware, at least
not that I know of :-)
The code is just obvious incorrect for shadow_root_level=5 && guest root_level<4.
I'm staring at kvm_mmu_sync_roots() and don't see how it can possibly work for
5-level nNPT with a 4-level NPT guest.
It doesn't use pml5_root for 5-level nNPT with a 4-level NPT guest, so
kvm_mmu_sync_roots() can work in a silence way with an "unexpected" root shadow
page. It has problems for 5-level nNPT with a 4-level NPT guest.
See:
https://lore.kernel.org/lkml/20211210092508.7185-1-jiangshanlai@xxxxxxxxx/
especially patch4.
Your this reply motivated me to complete the changelog of a patchset and send
it, thanks!
Although the patchset is immature, it would be better than losing it.