From d48beee81ba11b6bc5151f4f882a9fe2ff9b1d2c Mon Sep 17 00:00:00 2001 From: dinglimin_yewu Date: Thu, 28 Sep 2023 16:07:30 +0800 Subject: [PATCH] vhost-user-fs: Back up vqs before cleaning up vhost_dev cheery-pick from 331acddc87b739c64b936ba4e58518f8491f1c6b vhost_dev_cleanup() clears vhost_dev so back up its vqs member to free the memory pointed by the member. Fixes: 98fc1ada4c ("virtio: add vhost-user-fs base device") Signed-off-by: Akihiko Odaki Signed-off-by: Stefan Hajnoczi Message-Id: <20230130140225.77964-1-akihiko.odaki at daynix.com> Signed-off-by: dinglimin_yewu --- hw/virtio/vhost-user-fs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/virtio/vhost-user-fs.c b/hw/virtio/vhost-user-fs.c index c595957983..fc7dcc96ef 100644 --- a/hw/virtio/vhost-user-fs.c +++ b/hw/virtio/vhost-user-fs.c @@ -258,6 +258,7 @@ static void vuf_device_unrealize(DeviceState *dev) { VirtIODevice *vdev = VIRTIO_DEVICE(dev); VHostUserFS *fs = VHOST_USER_FS(dev); + struct vhost_virtqueue *vhost_vqs = fs->vhost_dev.vqs; int i; /* This will stop vhost backend if appropriate. */ @@ -273,8 +274,7 @@ static void vuf_device_unrealize(DeviceState *dev) } g_free(fs->req_vqs); virtio_cleanup(vdev); - g_free(fs->vhost_dev.vqs); - fs->vhost_dev.vqs = NULL; + g_free(vhost_vqs); } static const VMStateDescription vuf_vmstate = { -- 2.41.0.windows.1