qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1] virtio/vhost-vsock: don't double close vhostfd, remove re


From: Stefano Garzarella
Subject: Re: [PATCH v1] virtio/vhost-vsock: don't double close vhostfd, remove redundant cleanup
Date: Mon, 29 Nov 2021 14:44:26 +0100

On Mon, Nov 29, 2021 at 03:52:04PM +0300, Daniil Tatianin wrote:
In case of an error during initialization in vhost_dev_init, vhostfd is
closed in vhost_dev_cleanup. Remove close from err_virtio as it's both
redundant and causes a double close on vhostfd.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
---
hw/virtio/vhost-vsock.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c
index 478c0c9a87..433d42d897 100644
--- a/hw/virtio/vhost-vsock.c
+++ b/hw/virtio/vhost-vsock.c
@@ -171,6 +171,10 @@ static void vhost_vsock_device_realize(DeviceState *dev, 
Error **errp)
    ret = vhost_dev_init(&vvc->vhost_dev, (void *)(uintptr_t)vhostfd,
                         VHOST_BACKEND_TYPE_KERNEL, 0, errp);
    if (ret < 0) {
+        /*
+         * vhostfd is closed by vhost_dev_cleanup, which is called
+         * by vhost_dev_init on initialization error.
+         */
        goto err_virtio;
    }

@@ -183,15 +187,10 @@ static void vhost_vsock_device_realize(DeviceState *dev, 
Error **errp)
    return;

err_vhost_dev:
-    vhost_dev_cleanup(&vvc->vhost_dev);
    /* vhost_dev_cleanup() closes the vhostfd passed to vhost_dev_init() */
-    vhostfd = -1;
+    vhost_dev_cleanup(&vvc->vhost_dev);
err_virtio:
    vhost_vsock_common_unrealize(vdev);
-    if (vhostfd >= 0) {
-        close(vhostfd);
-    }
-    return;
}

static void vhost_vsock_device_unrealize(DeviceState *dev)
--
2.25.1



Thanks for this patch. It LGTM:

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]