44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
|
|
From d48beee81ba11b6bc5151f4f882a9fe2ff9b1d2c Mon Sep 17 00:00:00 2001
|
||
|
|
From: dinglimin_yewu <dinglimin_yewu@cmss.chinamobile.com>
|
||
|
|
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 <akihiko.odaki at daynix.com>
|
||
|
|
Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com>
|
||
|
|
Message-Id: <20230130140225.77964-1-akihiko.odaki at daynix.com>
|
||
|
|
Signed-off-by: dinglimin_yewu <dinglimin_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
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
|
||
|
|
|