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
>
>