From: Michael S. Tsirkin Date: Wed, 27 Oct 2010 18:03:43 +0000 (+0200) Subject: tap: clear vhost_net backend on cleanup X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=43849424cff82803011fad21074531a1101e514e;p=qmiga%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 4afb314fde..937d9429eb 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);