diff options
author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2024-04-28 16:00:51 +0900 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2024-06-04 15:14:26 +0800 |
commit | 8c49756825dab430b17648637735c2736d23f778 (patch) | |
tree | 9be74c4576f71bb85d703a1c3b7c6024fcff0e55 /hw | |
parent | 283be5966eb7ec18fda3e95c979be620dfb8c72a (diff) | |
download | qemu-8c49756825dab430b17648637735c2736d23f778.zip qemu-8c49756825dab430b17648637735c2736d23f778.tar.gz qemu-8c49756825dab430b17648637735c2736d23f778.tar.bz2 |
virtio-net: Add only one queue pair when realizing
Multiqueue usage is not negotiated yet when realizing. If more than
one queue is added and the guest never requests to enable multiqueue,
the extra queues will not be deleted when unrealizing and leak.
Fixes: f9d6dbf0bf6e ("virtio-net: remove virtio queues if the guest doesn't support multiqueue")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/net/virtio-net.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3cee2ef..a8db8bf 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3743,9 +3743,7 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp) n->net_conf.tx_queue_size = MIN(virtio_net_max_tx_queue_size(n), n->net_conf.tx_queue_size); - for (i = 0; i < n->max_queue_pairs; i++) { - virtio_net_add_queue(n, i); - } + virtio_net_add_queue(n, 0); n->ctrl_vq = virtio_add_queue(vdev, 64, virtio_net_handle_ctrl); qemu_macaddr_default_if_unset(&n->nic_conf.macaddr); |