diff options
author | Jason Wang <jasowang@redhat.com> | 2013-11-06 16:58:08 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2013-11-10 12:08:38 +0200 |
commit | 6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902 (patch) | |
tree | 41a42ff79dbb27aed1d5b91a9e6be3a6ecae5081 /hw | |
parent | 04c7d8b8dea724f1007f0f6e76047ff03b4cb24f (diff) | |
download | qemu-6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902.zip qemu-6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902.tar.gz qemu-6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902.tar.bz2 |
virtio-net: only delete bh that existed
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>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/net/virtio-net.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 22dbd05..ae51d96 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1601,7 +1601,7 @@ static int virtio_net_device_exit(DeviceState *qdev) if (q->tx_timer) { timer_del(q->tx_timer); timer_free(q->tx_timer); - } else { + } else if (q->tx_bh) { qemu_bh_delete(q->tx_bh); } } |