diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2016-07-27 01:15:12 +0400 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2016-07-29 00:33:48 +0300 |
commit | e6bcb1b61782cefacecc8b9ee7a5f782373dab2d (patch) | |
tree | 268e8208c3f706f806b10936ed3e90b6f548b309 /net/tap.c | |
parent | c4843a45e3d4f3698b214275ab5e78cdb6a3d212 (diff) | |
download | qemu-e6bcb1b61782cefacecc8b9ee7a5f782373dab2d.zip qemu-e6bcb1b61782cefacecc8b9ee7a5f782373dab2d.tar.gz qemu-e6bcb1b61782cefacecc8b9ee7a5f782373dab2d.tar.bz2 |
vhost-user: keep vhost_net after a disconnection
Many code paths assume get_vhost_net() returns non-null.
Keep VhostUserState.vhost_net after a successful vhost_net_init(),
instead of freeing it in vhost_net_cleanup().
VhostUserState.vhost_net is thus freed before after being recreated or
on final vhost_user_cleanup() and there is no need to save the acked
features.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'net/tap.c')
-rw-r--r-- | net/tap.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -312,6 +312,7 @@ static void tap_cleanup(NetClientState *nc) if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); + g_free(s->vhost_net); s->vhost_net = NULL; } |