lkml.org 
[lkml]   [2022]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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
    > >
    > >

    \
     
     \ /
      Last update: 2022-02-09 23:44    [W:2.525 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site