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 <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2016-07-08 17:28:34 +02:00
parent f6c2e66ae8
commit 8caf911d33
1 changed files with 2 additions and 3 deletions

5
vl.c
View File

@ -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;
}