KVM: s390: fix bug in interrupt parameter check
authorJens Freimann <jfrei@linux.vnet.ibm.com>
Thu, 15 Jan 2015 13:40:34 +0000 (14:40 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 23 Jan 2015 12:25:42 +0000 (13:25 +0100)
When we convert interrupt data from struct kvm_s390_interrupt to
struct kvm_s390_irq we need to check the data in the input parameter
not the output parameter.

Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/interrupt.c

index 6d7513e1556082f5f860ef9ebe8cdbe875d5db17..60d9edd083ec94df2a6496fa5a4d2786377bbb36 100644 (file)
@@ -1354,12 +1354,12 @@ int s390int_to_s390irq(struct kvm_s390_interrupt *s390int,
                irq->u.stop.flags = s390int->parm;
                break;
        case KVM_S390_INT_EXTERNAL_CALL:
-               if (irq->u.extcall.code & 0xffff0000)
+               if (s390int->parm & 0xffff0000)
                        return -EINVAL;
                irq->u.extcall.code = s390int->parm;
                break;
        case KVM_S390_INT_EMERGENCY:
-               if (irq->u.emerg.code & 0xffff0000)
+               if (s390int->parm & 0xffff0000)
                        return -EINVAL;
                irq->u.emerg.code = s390int->parm;
                break;