Re: [PATCH 05/18] vhost-vdpa: don't cleanup twice in vhost_vdpa_add()

2021-06-23 Thread Stefano Garzarella

On Mon, Jun 21, 2021 at 12:16:37PM +0800, Jason Wang wrote:

The previous vhost_net_cleanup is sufficient for freeing, calling
vhost_vdpa_del() in this case will lead an extra round of free. Note
that this kind of "double free" is safe since vhost_dev_cleanup() zero
the whole structure.

Signed-off-by: Jason Wang 
---
net/vhost-vdpa.c | 11 ---
1 file changed, 11 deletions(-)


Reviewed-by: Stefano Garzarella 



diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 728e63ff54..f5689a7c32 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -82,16 +82,6 @@ static int vhost_vdpa_net_check_device_id(struct vhost_net 
*net)
return ret;
}

-static void vhost_vdpa_del(NetClientState *ncs)
-{
-VhostVDPAState *s;
-assert(ncs->info->type == NET_CLIENT_DRIVER_VHOST_VDPA);
-s = DO_UPCAST(VhostVDPAState, nc, ncs);
-if (s->vhost_net) {
-vhost_net_cleanup(s->vhost_net);
-}
-}
-
static int vhost_vdpa_add(NetClientState *ncs, void *be)
{
VhostNetOptions options;
@@ -122,7 +112,6 @@ err:
if (net) {
vhost_net_cleanup(net);
}
-vhost_vdpa_del(ncs);
return -1;
}

--
2.25.1







[PATCH 05/18] vhost-vdpa: don't cleanup twice in vhost_vdpa_add()

2021-06-20 Thread Jason Wang
The previous vhost_net_cleanup is sufficient for freeing, calling
vhost_vdpa_del() in this case will lead an extra round of free. Note
that this kind of "double free" is safe since vhost_dev_cleanup() zero
the whole structure.

Signed-off-by: Jason Wang 
---
 net/vhost-vdpa.c | 11 ---
 1 file changed, 11 deletions(-)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 728e63ff54..f5689a7c32 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -82,16 +82,6 @@ static int vhost_vdpa_net_check_device_id(struct vhost_net 
*net)
 return ret;
 }
 
-static void vhost_vdpa_del(NetClientState *ncs)
-{
-VhostVDPAState *s;
-assert(ncs->info->type == NET_CLIENT_DRIVER_VHOST_VDPA);
-s = DO_UPCAST(VhostVDPAState, nc, ncs);
-if (s->vhost_net) {
-vhost_net_cleanup(s->vhost_net);
-}
-}
-
 static int vhost_vdpa_add(NetClientState *ncs, void *be)
 {
 VhostNetOptions options;
@@ -122,7 +112,6 @@ err:
 if (net) {
 vhost_net_cleanup(net);
 }
-vhost_vdpa_del(ncs);
 return -1;
 }
 
-- 
2.25.1