KVM: x86: fix return value for reserved EFER
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 24 May 2019 19:52:46 +0000 (21:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:46:00 +0000 (06:46 -0700)
commit 66f61c92889ff3ca365161fb29dd36d6354682ba upstream.

Commit 11988499e62b ("KVM: x86: Skip EFER vs. guest CPUID checks for
host-initiated writes", 2019-04-02) introduced a "return false" in a
function returning int, and anyway set_efer has a "nonzero on error"
conventon so it should be returning 1.

Reported-by: Pavel Machek <pavel@denx.de>
Fixes: 11988499e62b ("KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes")
Cc: Sean Christopherson <sean.j.christopherson@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/x86.c

index d0eb37c..be4ba09 100644 (file)
@@ -1188,7 +1188,7 @@ static int set_efer(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
        u64 efer = msr_info->data;
 
        if (efer & efer_reserved_bits)
-               return false;
+               return 1;
 
        if (!msr_info->host_initiated) {
                if (!__kvm_valid_efer(vcpu, efer))