From 8caf911d3316b6eccc503cff0d9a68cf922950f1 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 8 Jul 2016 17:28:34 +0200 Subject: [PATCH] net: do not use atexit for cleanup This will be necessary in the next patch, which stops using atexit for character devices; without it, vhost-user and the redirector filter will cause a use-after-free. Relying on the ordering of atexit calls is also brittle, even now that both the network and chardev subsystems are using atexit. Signed-off-by: Paolo Bonzini --- vl.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vl.c b/vl.c index 356713ea07..cad4da2487 100644 --- a/vl.c +++ b/vl.c @@ -4345,9 +4345,6 @@ int main(int argc, char **argv, char **envp) qemu_opts_del(icount_opts); } - /* clean up network at qemu process termination */ - atexit(&net_cleanup); - if (default_net) { QemuOptsList *net = qemu_find_opts("net"); qemu_opts_set(net, NULL, "type", "nic", &error_abort); @@ -4611,5 +4608,7 @@ int main(int argc, char **argv, char **envp) tpm_cleanup(); #endif + net_cleanup(); + return 0; }