[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qemu-xen master] virtio-net: fix removal of failover device



commit 650181007a027034620995eb3d5044cea1ec9b49
Author:     Juan Quintela <quintela@xxxxxxxxxx>
AuthorDate: Fri Jul 3 13:48:13 2020 +0200
Commit:     Jason Wang <jasowang@xxxxxxxxxx>
CommitDate: Wed Jul 15 21:00:13 2020 +0800

    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@xxxxxxxxxx>
    CC: Michael S. Tsirkin <mst@xxxxxxxxxx>
    Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
    Acked-by: Laurent Vivier <lvivier@xxxxxxxxxx>
    Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
    Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
---
 hw/net/virtio-net.c | 1 +
 1 file changed, 1 insertion(+)

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);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.