virtio: skip guest index check on device load
commitd68cdae30eef62dde61c8b8467a96c01c8f80270
authorFelipe Franciosi <felipe@nutanix.com>
Wed, 28 Oct 2020 13:47:03 +0000 (28 13:47 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 30 Oct 2020 10:48:53 +0000 (30 06:48 -0400)
treedc6637d3e57451ec22727a1ff391def14f8c290d
parentadb29c027341ba095a3ef4beef6aaef86d3a520e
virtio: skip guest index check on device load

QEMU must be careful when loading device state off migration streams to
prevent a malicious source from exploiting the emulator. Overdoing these
checks has the side effect of allowing a guest to "pin itself" in cloud
environments by messing with state which is entirely in its control.

Similarly to what f3081539 achieved in usb_device_post_load(), this
commit removes such a check from virtio_load(). Worth noting, the result
of a load without this check is the same as if a guest enables a VQ with
invalid indexes to begin with. That is, the virtual device is set in a
broken state (by the datapath handler) and must be reset.

Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Message-Id: <20201028134643.110698-1-felipe@nutanix.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio.c