[dpdk-dev] [PATCH 5/8] ipc: fix pdump memleak
Herakliusz Lipiec
herakliusz.lipiec at intel.com
Wed Apr 17 16:41:58 CEST 2019
When sending multiple requests, rte_mp_request_sync
can succeed sending a few of those requests, but then
fail on a later one and in the end return with rc=-1.
The upper layers - e.g. device hotplug - currently
handles this case as if no messages were sent and no
memory for response buffers was allocated, which is
not true. Fixed by always freeing reply message buffers.
Fixes: 660098d61f57 ("pdump: use generic multi-process channel")
Cc: jianfeng.tan at intel.com
Cc: stable at dpdk.org
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec at intel.com>
---
lib/librte_pdump/rte_pdump.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index 14744b9ff..3787c3e32 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -525,8 +525,8 @@ pdump_prepare_client_request(char *device, uint16_t queue,
rte_errno = resp->err_value;
if (!resp->err_value)
ret = 0;
- free(mp_reply.msgs);
}
+ free(mp_reply.msgs);
if (ret < 0)
RTE_LOG(ERR, PDUMP,
--
2.17.2
More information about the dev
mailing list