KVM: s390: read the correct opcode on SIE faults
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>
Mon, 16 Nov 2015 15:17:45 +0000 (16:17 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 10 Feb 2016 12:12:51 +0000 (13:12 +0100)
Let's use our fresh new function read_guest_instr() to access
guest storage via the correct addressing schema.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/kvm-s390.c

index 85e169b8e90dad8348bfac1f63ed26c1f3fa4b35..aa51a8d5179f185b6d1bfa929916af276814ca2d 100644 (file)
@@ -2163,7 +2163,6 @@ static int vcpu_pre_run(struct kvm_vcpu *vcpu)
 
 static int vcpu_post_run_fault_in_sie(struct kvm_vcpu *vcpu)
 {
-       psw_t *psw = &vcpu->arch.sie_block->gpsw;
        u8 opcode;
        int rc;
 
@@ -2178,7 +2177,7 @@ static int vcpu_post_run_fault_in_sie(struct kvm_vcpu *vcpu)
         * to look up the current opcode to get the length of the instruction
         * to be able to forward the PSW.
         */
-       rc = read_guest(vcpu, psw->addr, 0, &opcode, 1);
+       rc = read_guest_instr(vcpu, &opcode, 1);
        if (rc)
                return kvm_s390_inject_prog_cond(vcpu, rc);
        kvm_s390_forward_psw(vcpu, insn_length(opcode));