[dpdk-dev] [PATCH v2 6/8] ipc: fix tap pmd memleak
Herakliusz Lipiec
herakliusz.lipiec at intel.com
Tue Apr 23 19:43:32 CEST 2019
When sending synchronous IPC requests, the caller must free the response
buffer even if the request returned failure. Fix the code to correctly
use the IPC API.
Bugzilla ID: 228
Fixes: c9aa56edec8e ("net/tap: access primary process queues from secondary")
Cc: rasland at mellanox.com
Cc: stable at dpdk.org
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec at intel.com>
---
drivers/net/tap/rte_eth_tap.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index e9fda8cf6..d70412d62 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -2104,6 +2104,7 @@ tap_mp_attach_queues(const char *port_name, struct rte_eth_dev *dev)
if (ret < 0) {
TAP_LOG(ERR, "Failed to request queues from primary: %d",
rte_errno);
+ free(replies.msgs);
return -1;
}
reply = &replies.msgs[0];
@@ -2119,6 +2120,7 @@ tap_mp_attach_queues(const char *port_name, struct rte_eth_dev *dev)
for (queue = 0; queue < reply_param->txq_count; queue++)
process_private->txq_fds[queue] = reply->fds[fd_iterator++];
+ free(replies.msgs);
return 0;
}
--
2.17.2
More information about the dev
mailing list