qemu/net
Eugenio Pérez 8778ae6a04 net: move backend cleanup to NIC cleanup
Commit a0d7215e33 ("vhost-vdpa: do not cleanup the vdpa/vhost-net
structures if peer nic is present") effectively delayed the backend
cleanup, allowing the frontend or the guest to access it resources as
long as the frontend is still visible to the guest.

However it does not clean up the resources until the qemu process is
over.  This causes an effective leak if the device is deleted with
device_del, as there is no way to close the vdpa device.  This makes
impossible to re-add that device to this or other QEMU instances until
the first instance of QEMU is finished.

Move the cleanup from qemu_cleanup to the NIC deletion and to
net_cleanup.

Fixes: a0d7215e33 ("vhost-vdpa: do not cleanup the vdpa/vhost-net structures if peer nic is present")
Reported-by: Lei Yang <leiyang@redhat.com>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit e7891c575f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2025-03-22 10:52:51 +03:00
..
can meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
af-xdp.c net: add initial support for AF_XDP network backend 2023-09-18 14:36:13 +08:00
announce.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
checksum.c misc/other: spelling fixes 2023-09-08 13:08:52 +03:00
clients.h net: add initial support for AF_XDP network backend 2023-09-18 14:36:13 +08:00
colo-compare.c Fix calculation of minimum in colo_compare_tcp 2024-11-10 11:09:43 +03:00
colo-compare.h Add the function of colo_compare_cleanup 2021-06-11 10:30:13 +08:00
colo.c net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
colo.h net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
dgram.c win32: replace closesocket() with close() wrapper 2023-03-13 15:39:31 +04:00
dump.c net/dump: Avoid variable length array 2023-09-18 14:36:13 +08:00
eth.c net/eth: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
filter-buffer.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
filter-mirror.c net/filter: Optimize filter_send to coroutine 2022-02-14 11:50:44 +08:00
filter-replay.c hw: Do not include qemu/log.h if it is not necessary 2021-05-02 17:24:50 +02:00
filter-rewriter.c net/colo: Fix a "double free" crash to clear the conn_list 2022-07-20 16:58:08 +08:00
filter.c misc/other: spelling fixes 2023-09-08 13:08:52 +03:00
hub.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c net: Increase L2TPv3 buffer to fit jumboframes 2023-02-17 13:31:33 +08:00
meson.build net: fix build when libbpf is disabled, but libxdp is enabled 2024-11-10 11:09:43 +03:00
net-hmp-cmds.c net: Move hmp_info_network() to net-hmp-cmds.c 2023-02-04 07:56:54 +01:00
net.c net: move backend cleanup to NIC cleanup 2025-03-22 10:52:51 +03:00
netmap.c tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
queue.c net: introduce qemu_receive_packet() 2021-03-15 16:41:22 +08:00
slirp.c migration: Use VMSTATE_INSTANCE_ID_ANY for slirp 2023-11-01 16:13:58 +01:00
socket.c net: socket: remove net_init_socket() 2023-07-07 16:35:12 +08:00
stream.c net: stream: add a new option to automatically reconnect 2023-02-17 13:31:33 +08:00
tap-bsd.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-linux.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-linux.h tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap-solaris.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-stub.c tap: Add check for USO features 2023-09-18 14:36:13 +08:00
tap-win32.c net/tap-win32: Fix gcc 14 format truncation errors 2024-11-10 11:09:43 +03:00
tap.c net/tap: Avoid variable-length array 2023-09-18 14:36:13 +08:00
tap_int.h tap: Add check for USO features 2023-09-18 14:36:13 +08:00
trace-events net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
vde.c net: introduce qemu_set_info_str() function 2022-10-28 13:28:52 +08:00
vhost-user-stub.c vhost-net-user: add stubs for when no virtio-net device is present 2019-02-21 12:28:01 -05:00
vhost-user.c hw/char: Have FEWatchFunc handlers return G_SOURCE_CONTINUE/REMOVE 2023-08-31 19:47:43 +02:00
vhost-vdpa-stub.c vhost-net-vdpa: add stubs for when no virtio-net device is present 2022-07-20 16:58:08 +08:00
vhost-vdpa.c net: move backend cleanup to NIC cleanup 2025-03-22 10:52:51 +03:00
vmnet-bridged.m cocoa: Fix warnings about invalid prototype declarations 2023-06-13 11:28:58 +02:00
vmnet-common.m vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00
vmnet-host.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
vmnet-shared.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
vmnet_int.h vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00