Messages in this thread | | | Date | Fri, 10 Dec 2021 17:34:35 +0800 | From | Lai Jiangshan <> | Subject | Re: [PATCH 1/12] KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 |
| |
On 2021/12/9 09:16, Sean Christopherson wrote: > On Wed, Nov 24, 2021, Lai Jiangshan wrote: >> From: Lai Jiangshan <laijs@linux.alibaba.com> >> >> 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@gmail.com/
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.
| |