From mboxrd@z Thu Jan 1 00:00:00 1970 From: gfree.wind@vip.163.com Subject: [PATCH] eal: fix memleak on mp request error handler Date: Wed, 5 Dec 2018 10:50:25 +0800 Message-ID: <1543978226-23480-1-git-send-email-gfree.wind@vip.163.com> Cc: Gao Feng To: dev@dpdk.org Return-path: Received: from mail-177180.vip.163.com (mail-177180.vip.163.com [123.58.177.180]) by dpdk.org (Postfix) with ESMTP id 705391B192 for ; Wed, 5 Dec 2018 03:50:35 +0100 (CET) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Gao Feng When rte_eal_alarm_set failed, need to free the bundle mem in the error handler of handle_primary_request and handle_secondary_request. Signed-off-by: Gao Feng --- lib/librte_eal/common/hotplug_mp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_eal/common/hotplug_mp.c b/lib/librte_eal/common/hotplug_mp.c index 070e2e0..9d610a8 100644 --- a/lib/librte_eal/common/hotplug_mp.c +++ b/lib/librte_eal/common/hotplug_mp.c @@ -208,6 +208,8 @@ static int cmp_dev_name(const struct rte_device *dev, const void *_name) ret = rte_eal_alarm_set(1, __handle_secondary_request, bundle); if (ret != 0) { RTE_LOG(ERR, EAL, "failed to add mp task\n"); + free(bundle->peer); + free(bundle); return send_response_to_secondary(req, ret, peer); } return 0; @@ -332,6 +334,8 @@ static void __handle_primary_request(void *param) */ ret = rte_eal_alarm_set(1, __handle_primary_request, bundle); if (ret != 0) { + free(bundle->peer); + free(bundle); resp->result = ret; ret = rte_mp_reply(&mp_resp, peer); if (ret != 0) { -- 1.8.3.1