From: Michael S. Tsirkin Date: Wed, 27 Oct 2010 18:03:43 +0000 (+0200) Subject: tap: clear vhost_net backend on cleanup X-Git-Tag: v0.14.0-rc0~466 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=43849424cff82803011fad21074531a1101e514e;p=thirdparty%2Fqemu.git tap: clear vhost_net backend on cleanup Frontends calling tap_get_vhost_net get an invalid pointer after the peer backend has been deleted. Jason Wang reports this leading to a crash in ack_features when we remove the vhost-net bakend of a virtio nic. The fix is simply to clear the backend pointer. Signed-off-by: Michael S. Tsirkin --- diff --git a/net/tap.c b/net/tap.c index 4afb314fde0..937d9429eb5 100644 --- a/net/tap.c +++ b/net/tap.c @@ -279,6 +279,7 @@ static void tap_cleanup(VLANClientState *nc) if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); + s->vhost_net = NULL; } qemu_purge_queued_packets(nc);