• Like Xu's avatar
    KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time · 05a9e065
    Like Xu authored
    XCR0 is reset to 1 by RESET but not INIT and IA32_XSS is zeroed by
    both RESET and INIT. The kvm_set_msr_common()'s handling of MSR_IA32_XSS
    also needs to update kvm_update_cpuid_runtime(). In the above cases, the
    size in bytes of the XSAVE area containing all states enabled by XCR0 or
    (XCRO | IA32_XSS) needs to be updated.
    
    For simplicity and consistency, existing helpers are used to write values
    and call kvm_update_cpuid_runtime(), and it's not exactly a fast path.
    
    Fixes: a554d207 ("KVM: X86: Processor States following Reset or INIT")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarLike Xu <likexu@tencent.com>
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20220126172226.2298529-4-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    05a9e065
x86.c 336 KB