Re: [PATCH v2 0/7] KVM: x86/mmu: nVMX: 5-level paging fixes and enabling

From: Paolo Bonzini
Date: Wed Feb 12 2020 - 07:03:05 EST


On 07/02/20 18:37, Sean Christopherson wrote:
> Two fixes for 5-level paging bugs with a 100% fatality rate, a patch to
> enable 5-level EPT in L1, and additional clean up on top (mostly renames
> of functions/variables that caused me no end of confusion when trying to
> figure out what was broken).
>
> Tested fixed kernels at L0, L1 and L2, with most combinations of EPT,
> shadow paging, 4-level and 5-level. EPT kvm-unit-tests runs clean in L0.
> Patches for kvm-unit-tests incoming to play nice with 5-level nested EPT.
>
> Ideally patches 1 and 2 would get into 5.6, 5-level paging is quite
> broken without them.
>
> v2:
> - Increase the nested EPT array sizes to accomodate 5-level paging in
> the patch that adds support for 5-level nested EPT, not in the bug
> fix for 5-level shadow paging.
>
> Sean Christopherson (7):
> KVM: nVMX: Use correct root level for nested EPT shadow page tables
> KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging
> KVM: nVMX: Allow L1 to use 5-level page walks for nested EPT
> KVM: nVMX: Rename nested_ept_get_cr3() to nested_ept_get_eptp()
> KVM: nVMX: Rename EPTP validity helper and associated variables
> KVM: x86/mmu: Rename kvm_mmu->get_cr3() to ->get_guest_cr3_or_eptp()
> KVM: nVMX: Drop unnecessary check on ept caps for execute-only
>
> arch/x86/include/asm/kvm_host.h | 2 +-
> arch/x86/include/asm/vmx.h | 12 +++++++
> arch/x86/kvm/mmu/mmu.c | 35 ++++++++++----------
> arch/x86/kvm/mmu/paging_tmpl.h | 6 ++--
> arch/x86/kvm/svm.c | 10 +++---
> arch/x86/kvm/vmx/nested.c | 58 ++++++++++++++++++++-------------
> arch/x86/kvm/vmx/nested.h | 4 +--
> arch/x86/kvm/vmx/vmx.c | 2 ++
> arch/x86/kvm/x86.c | 2 +-
> 9 files changed, 79 insertions(+), 52 deletions(-)
>

Queued 1-2-4-5-7 (for 5.6), thanks!

Paolo