qemu/net
Eugenio Pérez e7891c575f 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>
2025-03-10 17:07:16 +08:00
..
can net/can: Remove unused struct 'CanBusState' 2024-06-30 19:51:44 +03:00
af-xdp.c net/af-xdp.c: Don't leak sock_fds array in net_init_af_xdp() 2024-03-25 10:41:00 +00:00
announce.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
checksum.c net: checksum: Convert data to void * 2024-11-25 13:59:50 +08:00
clients.h net: add initial support for AF_XDP network backend 2023-09-18 14:36:13 +08:00
colo-compare.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
colo-compare.h Add the function of colo_compare_cleanup 2021-06-11 10:30:13 +08:00
colo-stubs.c colo: move stubs out of stubs/ 2024-04-18 11:17:27 +02: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: Correctly compute Ethernet packet offset 2025-01-30 12:50:07 +03: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 include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01: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 include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +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-10-28 14:37:25 +08:00
net-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
net.c net: move backend cleanup to NIC cleanup 2025-03-10 17:07:16 +08:00
netmap.c tap: Remove qemu_using_vnet_hdr() 2024-06-04 15:14:25 +08:00
queue.c net: Remove deadcode 2024-10-03 17:26:05 +03:00
slirp.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
socket.c net: socket: remove net_init_socket() 2023-07-07 16:35:12 +08:00
stream.c net/stream: deprecate 'reconnect' in favor of 'reconnect-ms' 2024-10-28 14:37:25 +08:00
tap-bsd.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-linux.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-linux.h tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap-solaris.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-stub.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-win32.c net/tap-win32: Fix gcc 14 format truncation errors 2024-10-28 14:37:25 +08:00
tap.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tap_int.h tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
trace-events vdpa: add trace event for vhost_vdpa_net_load_mq 2024-03-12 17:56:55 -04: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 net: vhost-user: add QAPI events to report connection state 2025-02-21 07:21:25 -05: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-10 17:07:16 +08:00
vmnet-bridged.m net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-common.m net/vmnet: Pad short Ethernet frames 2024-12-31 21:21:34 +01:00
vmnet-host.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-shared.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet_int.h vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00