KVM: SVM: Return the local "r" variable from svm_set_msr()
authorSean Christopherson <seanjc@google.com>
Wed, 22 Mar 2023 01:14:40 +0000 (18:14 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 6 Apr 2023 17:37:37 +0000 (13:37 -0400)
Rename "r" to "ret" and actually return it from svm_set_msr() to reduce
the probability of repeating the mistake of commit 723d5fb0ffe4 ("kvm:
svm: Add IA32_FLUSH_CMD guest support"), which set "r" thinking that it
would be propagated to the caller.

Alternatively, the declaration of "r" could be moved into the handling of
MSR_TSC_AUX, but that risks variable shadowing in the future.  A wrapper
for kvm_set_user_return_msr() would allow eliding a local variable, but
that feels like delaying the inevitable.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20230322011440.2195485-7-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/svm.c

index b32edaf5a74b741a69a5e972e76dbba4923481d0..57f241c5a371e9305407c989f42ca13e818392ca 100644 (file)
@@ -2873,7 +2873,7 @@ static int svm_set_vm_cr(struct kvm_vcpu *vcpu, u64 data)
 static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
 {
        struct vcpu_svm *svm = to_svm(vcpu);
-       int r;
+       int ret = 0;
 
        u32 ecx = msr->index;
        u64 data = msr->data;
@@ -2995,10 +2995,10 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
                 * guest via direct_access_msrs, and switch it via user return.
                 */
                preempt_disable();
-               r = kvm_set_user_return_msr(tsc_aux_uret_slot, data, -1ull);
+               ret = kvm_set_user_return_msr(tsc_aux_uret_slot, data, -1ull);
                preempt_enable();
-               if (r)
-                       return 1;
+               if (ret)
+                       break;
 
                svm->tsc_aux = data;
                break;
@@ -3056,7 +3056,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
        default:
                return kvm_set_msr_common(vcpu, msr);
        }
-       return 0;
+       return ret;
 }
 
 static int msr_interception(struct kvm_vcpu *vcpu)