]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
virtio-net: only delete bh that existed
authorJason Wang <jasowang@redhat.com>
Wed, 6 Nov 2013 08:58:08 +0000 (16:58 +0800)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 4 Dec 2013 01:56:56 +0000 (19:56 -0600)
We delete without check whether it existed during exit. This will lead NULL
pointer deference since it was created conditionally depends on guest driver
status and features. So add a check of existence before trying to delete it.

Cc: qemu-stable@nongnu.org
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-id: 1383728288-28469-1-git-send-email-jasowang@redhat.com
Signed-off-by: Anthony Liguori <aliguori@amazon.com>
(cherry picked from commit fe2dafa02de4f80ab36f6e0f4ddfcd6418c03c49)

Conflicts:

hw/net/virtio-net.c

*modified to reflect timer function names for 1.6

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/net/virtio-net.c

index aa1880cb8782586af9e638bd2238ce32c8af3650..bb757b3e679ce49b9dbf4fc206087d07152d5c1c 100644 (file)
@@ -1600,7 +1600,7 @@ static int virtio_net_device_exit(DeviceState *qdev)
         if (q->tx_timer) {
             qemu_del_timer(q->tx_timer);
             qemu_free_timer(q->tx_timer);
-        } else {
+        } else if (q->tx_bh) {
             qemu_bh_delete(q->tx_bh);
         }
     }