summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Benditovich2019-12-26 05:36:48 +0100
committerMichael S. Tsirkin2020-01-06 18:04:51 +0100
commit421afd2fe8dd4603216cbf36081877c391f5a2a4 (patch)
tree8e694ee8ef985e9f23c3b3526a0a8fc54243658d
parentvirtio-mmio: update queue size on guest write (diff)
downloadqemu-421afd2fe8dd4603216cbf36081877c391f5a2a4.tar.gz
qemu-421afd2fe8dd4603216cbf36081877c391f5a2a4.tar.xz
qemu-421afd2fe8dd4603216cbf36081877c391f5a2a4.zip
virtio: reset region cache when on queue deletion
https://bugzilla.redhat.com/show_bug.cgi?id=1708480 Fix leak of region reference that prevents complete device deletion on hot unplug. Cc: qemu-stable@nongnu.org Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com> Message-Id: <20191226043649.14481-2-yuri.benditovich@daynix.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r--hw/virtio/virtio.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 95d8ff8508..7b861e0ca0 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -2344,6 +2344,7 @@ void virtio_delete_queue(VirtQueue *vq)
vq->handle_aio_output = NULL;
g_free(vq->used_elems);
vq->used_elems = NULL;
+ virtio_virtqueue_reset_region_cache(vq);
}
void virtio_del_queue(VirtIODevice *vdev, int n)