qemu/hw/virtio
Cornelia Huck 34c6bf22a8 virtio: guard vring access when setting notification
Switching to vring caches exposed an existing bug in
virtio_queue_set_notification(): We can't access vring structures
if they have not been set up yet. This may happen, for example,
for virtio-blk devices with multiple queues: The code will try to
switch notifiers for every queue, but the guest may have only set up
a subset of them.

Fix this by guarding access to the vring memory by checking for
vring.desc. The first aio poll will iron out any remaining
inconsistencies for later-configured queues (buggy legacy drivers).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-03-02 07:14:27 +02:00
..
Makefile.objs stubs: move vhost stubs to stubs/vhost.o 2017-01-16 17:52:35 +01:00
trace-events balloon: Don't balloon roms 2017-01-10 07:02:52 +02:00
vhost-backend.c vhost_net: device IOTLB support 2017-01-18 22:59:53 +02:00
vhost-stub.c stubs: move vhost stubs to stubs/vhost.o 2017-01-16 17:52:35 +01:00
vhost-user.c vhost-user: Add MTU protocol feature and op 2017-01-10 07:02:53 +02:00
vhost-vsock.c virtio: cleanup VMSTATE_VIRTIO_DEVICE 2016-10-10 02:21:43 +03:00
vhost.c vhost: skip ROM sections 2017-02-01 03:37:18 +02:00
virtio-balloon.c balloon: Don't balloon roms 2017-01-10 07:02:52 +02:00
virtio-bus.c virtio: force VIRTIO_F_IOMMU_PLATFORM 2017-01-19 23:00:31 +02:00
virtio-crypto-pci.c virtio-crypto-pci: tag virtio-crypto device hot pluggable 2017-01-10 07:02:52 +02:00
virtio-crypto.c hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
virtio-mmio.c virtio-mmio: switch to linux headers 2017-01-18 22:59:53 +02:00
virtio-pci.c pci: Convert msix_init() to Error and fix callers 2017-02-01 03:37:18 +02:00
virtio-pci.h virtio-pci: address space translation service (ATS) support 2017-01-10 05:56:59 +02:00
virtio-rng.c virtio: cleanup VMSTATE_VIRTIO_DEVICE 2016-10-10 02:21:43 +03:00
virtio.c virtio: guard vring access when setting notification 2017-03-02 07:14:27 +02:00