mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-18 13:38:36 -07:00
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>
This commit is contained in:
parent
9ff7a54bcf
commit
f47a47e458
1 changed files with 0 additions and 11 deletions
|
|
@ -81,16 +81,6 @@ static int vhost_vdpa_net_check_device_id(struct vhost_net *net)
|
||||||
return ret;
|
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)
|
static int vhost_vdpa_add(NetClientState *ncs, void *be)
|
||||||
{
|
{
|
||||||
VhostNetOptions options;
|
VhostNetOptions options;
|
||||||
|
|
@ -121,7 +111,6 @@ err:
|
||||||
if (net) {
|
if (net) {
|
||||||
vhost_net_cleanup(net);
|
vhost_net_cleanup(net);
|
||||||
}
|
}
|
||||||
vhost_vdpa_del(ncs);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue