40 lines
1.5 KiB
Diff
40 lines
1.5 KiB
Diff
|
|
From ec9c8583bee8ba140274abd3f5e8366442ceaa8e Mon Sep 17 00:00:00 2001
|
||
|
|
From: Prasad Pandit <pjp@fedoraproject.org>
|
||
|
|
Date: Mon, 29 May 2023 17:13:33 +0530
|
||
|
|
Subject: [PATCH] vhost: release virtqueue objects in error path
|
||
|
|
|
||
|
|
vhost_dev_start function does not release virtqueue objects when
|
||
|
|
event_notifier_init() function fails. Release virtqueue objects
|
||
|
|
and log a message about function failure.
|
||
|
|
|
||
|
|
Signed-off-by: Prasad Pandit <pjp@fedoraproject.org>
|
||
|
|
Message-Id: <20230529114333.31686-3-ppandit@redhat.com>
|
||
|
|
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Fixes: f9a09ca3ea ("vhost: add support for configure interrupt")
|
||
|
|
Reviewed-by: Peter Xu <peterx@redhat.com>
|
||
|
|
Cc: qemu-stable@nongnu.org
|
||
|
|
Acked-by: Jason Wang <jasowang@redhat.com>
|
||
|
|
Signed-off-by: fangyi <eric.fangyi@huawei.com>
|
||
|
|
---
|
||
|
|
hw/virtio/vhost.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
|
||
|
|
index 63ddcb3e6d..59a12735f9 100644
|
||
|
|
--- a/hw/virtio/vhost.c
|
||
|
|
+++ b/hw/virtio/vhost.c
|
||
|
|
@@ -1931,7 +1931,8 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings)
|
||
|
|
r = event_notifier_init(
|
||
|
|
&hdev->vqs[VHOST_QUEUE_NUM_CONFIG_INR].masked_config_notifier, 0);
|
||
|
|
if (r < 0) {
|
||
|
|
- return r;
|
||
|
|
+ VHOST_OPS_DEBUG(r, "event_notifier_init failed");
|
||
|
|
+ goto fail_vq;
|
||
|
|
}
|
||
|
|
event_notifier_test_and_clear(
|
||
|
|
&hdev->vqs[VHOST_QUEUE_NUM_CONFIG_INR].masked_config_notifier);
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|