Thread (8 messages) 8 messages, 3 authors, 2021-09-14

Re: [dpdk-dev] [PATCH v4] net/virtio: fix repeated memory free of vq

From: Gaoxiang Liu <hidden>
Date: 2021-09-07 03:41:53

Hi, chenbo, maxime.
Please help to review the patch.
The patch has been proposed a month ago.


At 2021-08-31 22:39:51, "Gaoxiang Liu" [off-list ref] wrote:
quoted hunk ↗ jump to hunk
When virtio_init_queue returns error, the memory of vq is freed.
But the value of hw->vqs[queue_idx] does not restore.
If virtio_init_queue returns error, the memory of vq is freed again
in virtio_free_queues.

Fixes: 69c80d4ef89b ("net/virtio: allocate queue at init stage")
Cc: stable@dpdk.org

Signed-off-by: Gaoxiang Liu <redacted>
---

v2:
* Fix spelling warning

v3:
* Add detailed log

v4:
* Update the email address
---
drivers/net/virtio/virtio_ethdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 056830566..fc72d71cb 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -631,6 +631,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t queue_idx)
	rte_memzone_free(mz);
free_vq:
	rte_free(vq);
+	hw->vqs[queue_idx] = NULL;

	return ret;
}
-- 
2.32.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help