diff options
author | Juan Quintela | 2020-07-03 13:48:13 +0200 |
---|---|---|
committer | Jason Wang | 2020-07-15 15:00:13 +0200 |
commit | 650181007a027034620995eb3d5044cea1ec9b49 (patch) | |
tree | 99ff726be8903adc111ad2bc8f40786220b4f1f5 /hw/net/virtio-net.c | |
parent | Merge remote-tracking branch 'remotes/philmd-gitlab/tags/python-next-20200714... (diff) | |
download | qemu-650181007a027034620995eb3d5044cea1ec9b49.tar.gz qemu-650181007a027034620995eb3d5044cea1ec9b49.tar.xz qemu-650181007a027034620995eb3d5044cea1ec9b49.zip |
virtio-net: fix removal of failover device
If you have a networking device and its virtio failover device, and
you remove them in this order:
- virtio device
- the real device
You get qemu crash.
See bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1820120
Bug exist on qemu 4.2 and 5.0.
But in 5.0 don't shows because commit
77b06bba62034a87cc61a9c8de1309ae3e527d97
somehow papers over it.
CC: Jason Wang <jasowang@redhat.com>
CC: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/virtio-net.c')
-rw-r--r-- | hw/net/virtio-net.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 10cc958396..4895af1cbe 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3416,6 +3416,7 @@ static void virtio_net_device_unrealize(DeviceState *dev) g_free(n->vlans); if (n->failover) { + device_listener_unregister(&n->primary_listener); g_free(n->primary_device_id); g_free(n->standby_id); qobject_unref(n->primary_device_dict); |