KVM: s390: fix bug in interrupt parameter check
authorJens Freimann <[email protected]>
Thu, 15 Jan 2015 13:40:34 +0000 (14:40 +0100)
committerChristian Borntraeger <[email protected]>
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 <[email protected]>
Acked-by: Christian Borntraeger <[email protected]>
Signed-off-by: Jens Freimann <[email protected]>
Signed-off-by: Christian Borntraeger <[email protected]>
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;