qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 07/18] vhost-vdpa: tweak the error label in vhost_vdpa_add()


From: Jason Wang
Subject: Re: [PATCH 07/18] vhost-vdpa: tweak the error label in vhost_vdpa_add()
Date: Tue, 6 Jul 2021 16:03:32 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


在 2021/6/23 下午11:03, Stefano Garzarella 写道:
On Mon, Jun 21, 2021 at 12:16:39PM +0800, Jason Wang wrote:
Introduce new error label to avoid the unnecessary checking of net
pointer.

Fixes: 1e0a84ea49b68 ("vhost-vdpa: introduce vhost-vdpa net client")
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
net/vhost-vdpa.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 21f09c546f..0da7bc347a 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -100,19 +100,18 @@ static int vhost_vdpa_add(NetClientState *ncs, void *be)
    net = vhost_net_init(&options);
    if (!net) {
        error_report("failed to init vhost_net for queue");
-        goto err;
+        goto err_init;
    }
    s->vhost_net = net;
    ret = vhost_vdpa_net_check_device_id(net);
    if (ret) {
-        goto err;
+        goto err_check;
    }
    return 0;
-err:
-    if (net) {
-        vhost_net_cleanup(net);
-        g_free(net);
-    }
+err_check:
+    vhost_net_cleanup(net);
+    g_free(net);

Should we set s->vhost_net to NULL to avoid use after free?

Then we should also remove the `assert(s->vhost_net)` in net_vhost_vdpa_init() since we can fail.


Right, will do this in a separate patch.

Thanks



+err_init:
    return -1;
}

--
2.25.1







reply via email to

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