Messages in this thread | | | Date | Wed, 9 Feb 2022 22:43:06 +0000 | From | Sean Christopherson <> | Subject | Re: [PATCH 02/23] KVM: MMU: nested EPT cannot be used in SMM |
| |
On Fri, Feb 04, 2022, David Matlack wrote: > On Fri, Feb 04, 2022 at 06:56:57AM -0500, Paolo Bonzini wrote: > > The role.base.smm flag is always zero, do not bother copying it over > > from vcpu->arch.root_mmu. > > > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > > Reviewed-by: David Matlack <dmatlack@google.com> > > > --- > > arch/x86/kvm/mmu/mmu.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c > > index 9424ae90f1ef..b0065ae3cea8 100644 > > --- a/arch/x86/kvm/mmu/mmu.c > > +++ b/arch/x86/kvm/mmu/mmu.c > > @@ -4881,9 +4881,6 @@ kvm_calc_shadow_ept_root_page_role(struct kvm_vcpu *vcpu, bool accessed_dirty, > > { > > union kvm_mmu_role role = {0}; > > > > - /* SMM flag is inherited from root_mmu */ > > - role.base.smm = vcpu->arch.root_mmu.mmu_role.base.smm; > > nit: Retaining a comment here and/or warning here would be useful. > > /* EPT is not allowed in SMM */
EPT _is_ allowed in SMM, KVM just doesn't support it. Specifically, KVM doesn't emulate Parallel SMM, a.k.a. Dual-Monitor Treatment of SMIs. Probably worth calling that out in the changelog. If there's a WARN, then we don't really need a comment as blame will get someone to the "why" if they're really curious, and most people probably would only be confused about parallel SMM comments.
> WARN_ONCE_ONCE(vcpu->arch.root_mmu.mmu_role.base.smm);
+1 to a WARN, if only to provide a paper trail for git blame. Finding when something is purely deleted is painful.
> > (Although I imagine it would just get removed later in the series.) > > > - > > role.base.level = level; > > role.base.has_4_byte_gpte = false; > > role.base.direct = false; > > -- > > 2.31.1 > > > >
| |