* [PATCH] kvm: Make init_rmode_tss() return 0 on success.
@ 2014-09-16 11:38 Paolo Bonzini
2014-09-19 23:44 ` Radim Krčmář
0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2014-09-16 11:38 UTC (permalink / raw)
To: linux-kernel, kvm
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(-)
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)
--
1.7.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] kvm: Make init_rmode_tss() return 0 on success.
2014-09-16 11:38 [PATCH] kvm: Make init_rmode_tss() return 0 on success Paolo Bonzini
@ 2014-09-19 23:44 ` Radim Krčmář
2014-09-22 9:17 ` Paolo Bonzini
0 siblings, 1 reply; 3+ messages in thread
From: Radim Krčmář @ 2014-09-19 23:44 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: linux-kernel, kvm
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>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] kvm: Make init_rmode_tss() return 0 on success.
2014-09-19 23:44 ` Radim Krčmář
@ 2014-09-22 9:17 ` Paolo Bonzini
0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2014-09-22 9:17 UTC (permalink / raw)
To: Radim Krčmář; +Cc: linux-kernel, kvm
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-22 9:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-16 11:38 [PATCH] kvm: Make init_rmode_tss() return 0 on success Paolo Bonzini
2014-09-19 23:44 ` Radim Krčmář
2014-09-22 9:17 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).