summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/intercept.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2013-03-05 13:14:43 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2013-03-07 16:21:21 -0300
commitdc5008b9bf6adb0c0a5afba6fb376a85451b2697 (patch)
treeb52050bd00f8fc5e8897f10497a3bbf051cb0155 /arch/s390/kvm/intercept.c
parent59a1fa2d80c0d351755cb29273b2b256dc4b3a11 (diff)
s390/kvm: remove explicit -EFAULT return code checking on guest access
Let's change to the paradigm that every return code from guest memory access functions that is not zero translates to -EFAULT and do not explictly compare. Explictly comparing the return value with -EFAULT has already shown to be a bit fragile. In addition this is closer to the handling of copy_to/from_user functions, which imho is in general a good idea. Also shorten the return code handling in interrupt.c a bit. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/s390/kvm/intercept.c')
-rw-r--r--arch/s390/kvm/intercept.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
index f26ff1e31bd..9b220475944 100644
--- a/arch/s390/kvm/intercept.c
+++ b/arch/s390/kvm/intercept.c
@@ -45,7 +45,7 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)
do {
rc = get_guest_u64(vcpu, useraddr,
&vcpu->arch.sie_block->gcr[reg]);
- if (rc == -EFAULT) {
+ if (rc) {
kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
break;
}
@@ -79,7 +79,7 @@ static int handle_lctl(struct kvm_vcpu *vcpu)
reg = reg1;
do {
rc = get_guest_u32(vcpu, useraddr, &val);
- if (rc == -EFAULT) {
+ if (rc) {
kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
break;
}