qemu-e2k/hw/virtio
John Levon 4aedda25e8 virtio: reset device on bad guest index in virtio_load()
If we find a queue with an inconsistent guest index value, explicitly mark the
device as needing a reset - and broken - via virtio_error().

There's at least one driver implementation - the virtio-win NetKVM driver - that
is able to handle a VIRTIO_CONFIG_S_NEEDS_RESET notification and successfully
restore the device to a working state. Other implementations do not correctly
handle this, but as the VQ is not in a functional state anyway, this is still
worth doing.

Signed-off-by: John Levon <john.levon@nutanix.com>
Message-Id: <20201120185103.GA442386@sent>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-12-08 13:48:57 -05:00
..
Kconfig
meson.build
trace-events virtio-iommu: Set supported page size mask 2020-11-03 07:19:27 -05:00
trace.h
vhost-backend.c hw/virtio/vhost-backend: Fix Coverity CID 1432871 2020-11-03 07:19:27 -05:00
vhost-scsi-pci.c
vhost-stub.c
vhost-user-blk-pci.c
vhost-user-fs-pci.c
vhost-user-fs.c
vhost-user-input-pci.c
vhost-user-scsi-pci.c
vhost-user-vsock-pci.c vhost-user-vsock-pci: force virtio version 1 2020-09-29 02:15:24 -04:00
vhost-user-vsock.c
vhost-user.c vhost-user: fix VHOST_USER_ADD/REM_MEM_REG truncation 2020-11-12 09:19:40 -05:00
vhost-vdpa.c hw/virtio/vhost-vdpa: Fix Coverity CID 1432864 2020-10-30 04:29:13 -04:00
vhost-vsock-common.c
vhost-vsock-pci.c vhost-vsock-pci: force virtio version 1 2020-09-29 02:15:24 -04:00
vhost-vsock.c vhost-vsock: set vhostfd to non-blocking mode 2020-10-30 04:29:13 -04:00
vhost.c memory: Add IOMMU_NOTIFIER_DEVIOTLB_UNMAP IOMMUTLBNotificationType 2020-12-08 13:48:57 -05:00
virtio-9p-pci.c
virtio-balloon-pci.c
virtio-balloon.c qapi: Restrict balloon-related commands to machine code 2020-09-29 15:41:35 +02:00
virtio-blk-pci.c
virtio-bus.c
virtio-crypto-pci.c
virtio-crypto.c
virtio-input-host-pci.c
virtio-input-pci.c
virtio-iommu-pci.c
virtio-iommu.c memory: Add IOMMUTLBEvent 2020-12-08 13:48:57 -05:00
virtio-mem-pci.c virito-mem: Implement get_min_alignment() 2020-11-03 07:19:26 -05:00
virtio-mem-pci.h
virtio-mem.c virtio-mem: Probe THP size to determine default block size 2020-11-03 07:19:26 -05:00
virtio-mmio.c
virtio-net-pci.c
virtio-pci.c virtio: skip legacy support check on machine types less than 5.1 2020-09-29 02:15:24 -04:00
virtio-pci.h
virtio-pmem-pci.c
virtio-pmem-pci.h
virtio-pmem.c hw: virtio-pmem: detach the element fromt the virtqueue when error occurs 2020-09-29 03:06:12 -04:00
virtio-rng-pci.c
virtio-rng.c
virtio-scsi-pci.c
virtio-serial-pci.c
virtio.c virtio: reset device on bad guest index in virtio_load() 2020-12-08 13:48:57 -05:00