mirror of https://github.com/xemu-project/xemu.git
virtio-ccw: validate the number of queues against bus limitation
Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Richard Henderson <rth@twiddle.net> Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
8dfbaa6ac4
commit
10ceaa1e8f
|
@ -1381,7 +1381,16 @@ static int virtio_ccw_load_config(DeviceState *d, QEMUFile *f)
|
||||||
static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
|
static void virtio_ccw_device_plugged(DeviceState *d, Error **errp)
|
||||||
{
|
{
|
||||||
VirtioCcwDevice *dev = VIRTIO_CCW_DEVICE(d);
|
VirtioCcwDevice *dev = VIRTIO_CCW_DEVICE(d);
|
||||||
|
VirtIODevice *vdev = virtio_bus_get_device(&dev->bus);
|
||||||
SubchDev *sch = dev->sch;
|
SubchDev *sch = dev->sch;
|
||||||
|
int n = virtio_get_num_queues(vdev);
|
||||||
|
|
||||||
|
if (virtio_get_num_queues(vdev) > VIRTIO_CCW_QUEUE_MAX) {
|
||||||
|
error_setg(errp, "The nubmer of virtqueues %d "
|
||||||
|
"exceeds ccw limit %d", n,
|
||||||
|
VIRTIO_CCW_QUEUE_MAX);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);
|
sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue