diff mbox

kvm: Make init_rmode_tss() return 0 on success.

Message ID 1410867505-5941-1-git-send-email-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paolo Bonzini Sept. 16, 2014, 11:38 a.m. UTC
In init_rmode_tss(), there two variables indicating the return
value, r and ret, and it return 0 on error, 1 on success. The function
is only called by vmx_set_tss_addr(), and r is redundant.

This patch removes the redundant variable, by making init_rmode_tss()
return 0 on success, -errno on failure.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 arch/x86/kvm/vmx.c |   13 +++----------
 1 files changed, 3 insertions(+), 10 deletions(-)

Comments

Radim Krčmář Sept. 19, 2014, 11:44 p.m. UTC | #1
2014-09-16 13:38+0200, Paolo Bonzini:
> In init_rmode_tss(), there two variables indicating the return
> value, r and ret, and it return 0 on error, 1 on success. The function
> is only called by vmx_set_tss_addr(), and r is redundant.
> 
> This patch removes the redundant variable, by making init_rmode_tss()
> return 0 on success, -errno on failure.

Which is going to propagate all the way to userpace through ioctl ...
is this change of A[PB]I acceptable?

Otherwise, -EFAULT seems to match unlikely problems better than -ENOMEM,
so if it is acceptable:  Reviewed-by: Radim Kr?má? <rkrcmar@redhat.com>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paolo Bonzini Sept. 22, 2014, 9:17 a.m. UTC | #2
Il 20/09/2014 01:44, Radim Kr?má? ha scritto:
>> > This patch removes the redundant variable, by making init_rmode_tss()
>> > return 0 on success, -errno on failure.
> Which is going to propagate all the way to userpace through ioctl ...
> is this change of A[PB]I acceptable?
> 
> Otherwise, -EFAULT seems to match unlikely problems better than -ENOMEM,
> so if it is acceptable:  Reviewed-by: Radim Kr?má? <rkrcmar@redhat.com>

Yes, I think it is a bugfix.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 41bbddb..1e6b493 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -3930,7 +3930,7 @@  static int init_rmode_tss(struct kvm *kvm)
 {
 	gfn_t fn;
 	u16 data = 0;
-	int r, idx, ret = 0;
+	int idx, r;
 
 	idx = srcu_read_lock(&kvm->srcu);
 	fn = kvm->arch.tss_addr >> PAGE_SHIFT;
@@ -3952,13 +3952,9 @@  static int init_rmode_tss(struct kvm *kvm)
 	r = kvm_write_guest_page(kvm, fn, &data,
 				 RMODE_TSS_SIZE - 2 * PAGE_SIZE - 1,
 				 sizeof(u8));
-	if (r < 0)
-		goto out;
-
-	ret = 1;
 out:
 	srcu_read_unlock(&kvm->srcu, idx);
-	return ret;
+	return r;
 }
 
 static int init_rmode_identity_map(struct kvm *kvm)
@@ -4750,10 +4746,7 @@  static int vmx_set_tss_addr(struct kvm *kvm, unsigned int addr)
 	if (ret)
 		return ret;
 	kvm->arch.tss_addr = addr;
-	if (!init_rmode_tss(kvm))
-		return  -ENOMEM;
-
-	return 0;
+	return init_rmode_tss(kvm);
 }
 
 static bool rmode_exception(struct kvm_vcpu *vcpu, int vec)