From: Paolo Bonzini Date: Wed, 29 Jun 2016 13:15:33 +0000 (+0200) Subject: vhost-user: disable chardev handlers on close X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=25f0d2aa5e3d21caa1bc622b21368cc2e383f02c;p=qmiga%2Fqemu.git vhost-user: disable chardev handlers on close This otherwise causes a use-after-free if network backend cleanup is performed before character device cleanup. Cc: Marc-André Lureau Signed-off-by: Paolo Bonzini --- diff --git a/net/vhost-user.c b/net/vhost-user.c index 636899a877..92f4cfd1b1 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -151,6 +151,11 @@ static void vhost_user_cleanup(NetClientState *nc) vhost_net_cleanup(s->vhost_net); s->vhost_net = NULL; } + if (s->chr) { + qemu_chr_add_handlers(s->chr, NULL, NULL, NULL, NULL); + qemu_chr_fe_release(s->chr); + s->chr = NULL; + } qemu_purge_queued_packets(nc); }