Message ID | 20210621041650.5826-6-jasowang@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vhost-vDPA multiqueue | expand |
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 <jasowang@redhat.com> >--- > net/vhost-vdpa.c | 11 ----------- > 1 file changed, 11 deletions(-) Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> > >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 > >
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; }
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 <jasowang@redhat.com> --- net/vhost-vdpa.c | 11 ----------- 1 file changed, 11 deletions(-)