Otherwise, vhost-user causes a use-after-free.
Signed-off-by: Paolo Bonzini <address@hidden>
---
vl.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/vl.c b/vl.c
index d0b9ff9..005162d 100644
--- a/vl.c
+++ b/vl.c
@@ -4327,9 +4327,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);
@@ -4596,6 +4593,9 @@ int main(int argc, char **argv, char **envp)
#ifdef CONFIG_TPM
tpm_cleanup();
#endif
+
+ /* vhost-user must be cleaned up before chardevs. */
+ net_cleanup();
qemu_chr_cleanup();
return 0;