From: Hideyuki Yamashita <[email protected]>

When rte_dev_remove is called for vhost, eth_dev_close and
rte_eth_dev_release_port is called.
Both eth_dev_close and rte_eth_dev_release_port calls rte_free
for same data area(mac_addrs) and thus causes double free.
This patch fixes this by deleting rte_free for mac_addrs.

Signed-off-by: Hideyuki Yamashita <[email protected]>
---
 drivers/net/vhost/rte_eth_vhost.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/vhost/rte_eth_vhost.c 
b/drivers/net/vhost/rte_eth_vhost.c
index 42bdfcbd5..b2cda0483 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1000,7 +1000,6 @@ eth_dev_close(struct rte_eth_dev *dev)
                for (i = 0; i < dev->data->nb_tx_queues; i++)
                        rte_free(dev->data->tx_queues[i]);
 
-       rte_free(dev->data->mac_addrs);
        free(internal->dev_name);
        free(internal->iface_name);
        rte_free(internal);
-- 
2.18.0



Reply via email to