[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-
From: |
Jason Wang |
Subject: |
[Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues |
Date: |
Tue, 23 May 2017 10:43:53 +0800 |
From: Yunjian Wang <address@hidden>
The tx_bh or tx_timer will free in virtio_net_del_queue() function, when
removing virtio-net queues if the guest doesn't support multiqueue. But
it might be still referenced by virtio_net_set_status(), which needs to
be set NULL. And also the tx_waiting needs to be set zero to prevent
virtio_net_set_status() accessing tx_bh or tx_timer.
Cc: address@hidden
Signed-off-by: Yunjian Wang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
---
hw/net/virtio-net.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 7d091c9..98bd683 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1522,9 +1522,12 @@ static void virtio_net_del_queue(VirtIONet *n, int index)
if (q->tx_timer) {
timer_del(q->tx_timer);
timer_free(q->tx_timer);
+ q->tx_timer = NULL;
} else {
qemu_bh_delete(q->tx_bh);
+ q->tx_bh = NULL;
}
+ q->tx_waiting = 0;
virtio_del_queue(vdev, index * 2 + 1);
}
--
2.7.4
- [Qemu-devel] [PULL 0/9] Net patches, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 1/9] net/tap: Replace tap-haiku.c and tap-aix.c by a generic tap-stub.c, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 2/9] net/dump: Issue a warning for the deprecated "-net dump", Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 3/9] virtio-net: fix wild pointer when remove virtio-net queues,
Jason Wang <=
- [Qemu-devel] [PULL 4/9] COLO-compare: Improve tcp compare trace event readability, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 5/9] hmp / net: Mark host_net_add/remove as deprecated, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 6/9] net/filter-mirror.c: Remove duplicate check code., Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 7/9] net/filter-mirror.c: Rename filter_mirror_send() and fix codestyle, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 8/9] net/filter-rewriter: Remove unused option in filter-rewriter, Jason Wang, 2017/05/22
- [Qemu-devel] [PULL 9/9] e1000e: Fix ICR "Other" causes clear logic, Jason Wang, 2017/05/22
- Re: [Qemu-devel] [PULL 0/9] Net patches, Stefan Hajnoczi, 2017/05/23