Message ID | 20190423174334.19612-3-herakliusz.lipiec@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Thomas Monjalon |
Headers | show |
Series | ipc: fix possible memleaks | expand |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
> -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Herakliusz Lipiec > Sent: Tuesday, April 23, 2019 7:43 PM > Cc: dev@dpdk.org; Lipiec, Herakliusz <herakliusz.lipiec@intel.com>; Zhang, > Qi Z <qi.z.zhang@intel.com>; stable@dpdk.org > Subject: [dpdk-dev] [PATCH v2 2/8] ipc: fix hotplug memleak > > 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: ac9e4a17370f ("eal: support attach/detach shared device from > secondary") > Cc: qi.z.zhang@intel.com > Cc: stable@dpdk.org > Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com> > --- Shouldn't the commit title be something like "hotplug: fix ipc memleak"? Or even more specifically "hotplug: fix memleak on ipc failure". For the patch itself: Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
diff --git a/lib/librte_eal/common/hotplug_mp.c b/lib/librte_eal/common/hotplug_mp.c index 4052a5c7f..2c8366afa 100644 --- a/lib/librte_eal/common/hotplug_mp.c +++ b/lib/librte_eal/common/hotplug_mp.c @@ -377,6 +377,7 @@ int eal_dev_hotplug_request_to_primary(struct eal_dev_mp_req *req) ret = rte_mp_request_sync(&mp_req, &mp_reply, &ts); if (ret || mp_reply.nb_received != 1) { RTE_LOG(ERR, EAL, "cannot send request to primary"); + free(mp_reply.msgs); if (!ret) return -1; return ret; @@ -405,6 +406,7 @@ int eal_dev_hotplug_request_to_secondary(struct eal_dev_mp_req *req) ret = rte_mp_request_sync(&mp_req, &mp_reply, &ts); if (ret != 0) { RTE_LOG(ERR, EAL, "rte_mp_request_sync failed\n"); + free(mp_reply.msgs); return ret; }
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: ac9e4a17370f ("eal: support attach/detach shared device from secondary") Cc: qi.z.zhang@intel.com Cc: stable@dpdk.org Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com> --- lib/librte_eal/common/hotplug_mp.c | 2 ++ 1 file changed, 2 insertions(+)