KVM: s390: convert handle_set_clock()
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 1 Jan 2014 15:50:11 +0000 (16:50 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 22 Apr 2014 11:24:42 +0000 (13:24 +0200)
Convert handle_set_clock() to new guest access functions.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/priv.c

index dd6ad8445608db0e001a0b41e6e4f7d3b3d895da..9648504d7818a49ef78c1e5bb14c7d93528ba975 100644 (file)
@@ -35,8 +35,8 @@ static int handle_set_clock(struct kvm_vcpu *vcpu)
 {
        struct kvm_vcpu *cpup;
        s64 hostclk, val;
+       int i, rc;
        u64 op2;
-       int i;
 
        if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE)
                return kvm_s390_inject_program_int(vcpu, PGM_PRIVILEGED_OP);
@@ -44,8 +44,9 @@ static int handle_set_clock(struct kvm_vcpu *vcpu)
        op2 = kvm_s390_get_base_disp_s(vcpu);
        if (op2 & 7)    /* Operand must be on a doubleword boundary */
                return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION);
-       if (get_guest(vcpu, val, (u64 __user *) op2))
-               return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
+       rc = read_guest(vcpu, op2, &val, sizeof(val));
+       if (rc)
+               return kvm_s390_inject_prog_cond(vcpu, rc);
 
        if (store_tod_clock(&hostclk)) {
                kvm_s390_set_psw_cc(vcpu, 3);