diff options
author | Jason Wang <jasowang@redhat.com> | 2021-09-03 17:10:17 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2021-09-04 17:34:05 -0400 |
commit | f47a47e458bc12fbc2dc940ad9bb6cb8199f75bd (patch) | |
tree | 2450e2a922f1d4ea18baacb851d47d68017c817b /net | |
parent | 9ff7a54bcf9cc2ecb7433a971d4e28199b539fd2 (diff) |
vhost-vdpa: don't cleanup twice in vhost_vdpa_add()
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.
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20210903091031.47303-8-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/vhost-vdpa.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 5c09cacd5a..3213e69d63 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -81,16 +81,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; @@ -121,7 +111,6 @@ err: if (net) { vhost_net_cleanup(net); } - vhost_vdpa_del(ncs); return -1; } |