Verify that the virtio-ccw notify hypercall passed a reasonable
value for queue.

Cc: [email protected]
Reported-by: Alexander Graf <[email protected]>
Signed-off-by: Cornelia Huck <[email protected]>
---
 hw/s390x/s390-virtio-ccw.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index d436414..76b63e2 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -31,6 +31,9 @@ static int virtio_ccw_hcall_notify(const uint64_t *args)
     if (!sch || !css_subch_visible(sch)) {
         return -EINVAL;
     }
+    if (queue >= VIRTIO_PCI_QUEUE_MAX) {
+        return -EINVAL;
+    }
     virtio_queue_notify(virtio_ccw_get_vdev(sch), queue);
     return 0;
 
-- 
1.7.9.5


Reply via email to