lkml.org 
[lkml]   [2020]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 08/61] KVM: x86: Warn on zero-size save state for valid CPUID 0xD.N sub-leaf
    Date
    Sean Christopherson <sean.j.christopherson@intel.com> writes:

    > WARN if the save state size for a valid XCR0-managed sub-leaf is zero,
    > which would indicate a KVM or CPU bug. Add a comment to explain why KVM
    > WARNs so the reader doesn't have to tease out the relevant bits from
    > Intel's SDM and KVM's XCR0/XSS code.
    >
    > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    > ---
    > arch/x86/kvm/cpuid.c | 13 ++++++++++---
    > 1 file changed, 10 insertions(+), 3 deletions(-)
    >
    > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
    > index fd9b29aa7abc..424dde41cb5d 100644
    > --- a/arch/x86/kvm/cpuid.c
    > +++ b/arch/x86/kvm/cpuid.c
    > @@ -677,10 +677,17 @@ static inline int __do_cpuid_func(struct kvm_cpuid_entry2 *entry, u32 function,
    > goto out;
    >
    > do_host_cpuid(&entry[i], function, idx);
    > - if (entry[i].eax == 0)
    > - continue;
    > - if (WARN_ON_ONCE(entry[i].ecx & 1))
    > +
    > + /*
    > + * The @supported check above should have filtered out
    > + * invalid sub-leafs as well as sub-leafs managed by

    Is it 'sub-leafs' or 'sub-leaves' actually? :-)

    > + * IA32_XSS MSR. Only XCR0-managed sub-leafs should
    > + * reach this point, and they should have a non-zero
    > + * save state size.
    > + */
    > + if (WARN_ON_ONCE(!entry[i].eax || (entry[i].ecx & 1)))
    > continue;
    > +
    > entry[i].ecx = 0;
    > entry[i].edx = 0;
    > ++*nent;

    Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>

    --
    Vitaly

    \
     
     \ /
      Last update: 2020-02-07 16:56    [W:3.857 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site