• S
    KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes · 3b5ea2df
    Sean Christopherson 提交于
    commit 11988499e62b310f3bf6f6d0a807a06d3f9ccc96 upstream.
    
    KVM allows userspace to violate consistency checks related to the
    guest's CPUID model to some degree.  Generally speaking, userspace has
    carte blanche when it comes to guest state so long as jamming invalid
    state won't negatively affect the host.
    
    Currently this is seems to be a non-issue as most of the interesting
    EFER checks are missing, e.g. NX and LME, but those will be added
    shortly.  Proactively exempt userspace from the CPUID checks so as not
    to break userspace.
    
    Note, the efer_reserved_bits check still applies to userspace writes as
    that mask reflects the host's capabilities, e.g. KVM shouldn't allow a
    guest to run with NX=1 if it has been disabled in the host.
    
    Fixes: d8017474 ("KVM: SVM: Only allow setting of EFER_SVME when CPUID SVM is set")
    Cc: stable@vger.kernel.org
    Signed-off-by: NSean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3b5ea2df
x86.c 248.1 KB