From patchwork Tue Feb 22 18:17:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108031 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 62E50A034E; Tue, 22 Feb 2022 19:18:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B90541148; Tue, 22 Feb 2022 19:18:39 +0100 (CET) Received: from out203-205-221-164.mail.qq.com (out203-205-221-164.mail.qq.com [203.205.221.164]) by mails.dpdk.org (Postfix) with ESMTP id 7BB0E41147 for ; Tue, 22 Feb 2022 19:18:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553912; bh=3Xwe1yt9pooF1LxFuiCw3cs3ald74sLnBjqf9d7FZC0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Z3ePABQAg4J6PrknXy2pNeWDR7larGAUguI0nuqwxWmNsQo2jZxc7ObFIXbKaGHQI pOj9zOwn3sdAg9VmNWp8i/ohJ49NgqAQJvahQsxuXwkDJnGu7itwdMRyFZVsvrmru8 w+5EQF7Br4x+M5cfLYkdAw5Zx4S8M1dUPQi4x5RA= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553908txn4yah3y Message-ID: X-QQ-XMAILINFO: ND42uzdxTIzr2YEOj0mwip26hYkQOKN0Zxxf1g6Odo1xq3Pd2Ey1uZohbayMsJ GmQGn43fm8ze8SQ4Pvgw75DnAXXcbBjSredoHYPnlJD0kXwOF7IN5+VyqfHdOCAtP2UGf0j2yFf/ Z32JR/NkvQJqFB+ns+2YzLjYVSPhISa/Oz5Ws+VSfvLa2HZZibHCnzAgQDajT+miYMrhaUXasJLp 5u0kij0rwhS8gXzz/L+MjgEekHGAAxo+71RztnxPuDVlXIclC5HPF5DJT3D2AqS8CInMSvBHTqXr YqJrpOXC6SVGtid5wun1D/9vBGOw1oFzSo/oU2Ru/jcMUS5rxosSi7//T10pixDakj/wAAn+h8UG Sk6MfbLiF2PnzcI3yWNAMOBjhbf7L7KLDxu0AA/wrevfaNkjYbjSXaX5x/ZFU3bgq783oz3juSIx w0gK8jpiMxda++SI9AAK1dzbqcHh45poKC4Bbr4v0RH+zj+kOmve+VUVtJtQbX0pyrk0qSYIllcv 3Al3ECDb3C6welCfni+rW2jq4O7LZzIFcwSH5qE9mS3W9VohBBt9IAitoXRcd/ZpdncPhmDD/ar+ MpXgjbzDYIp8Zkmi6kh4uGHRvDG4CDhFIK0y1hFvaN+nMh2LZmU0j5+VpdH6SU6xeuNaUGm+CLfx 3DHhLqOtdLBE4XVpxqZN1aCi5AYNzO/U9LLfCcTxszWQ4ug1l6otID4OGqkq7F/LWNVaUp+B0Frk GnfUFE2IS5FHa8vl2N+RiFHuogxwFkr8ziayT4hzS4tt2B7sy2H+hlwoTVuFtj9ou1zMgPDAVNGc Hhe5bOrq1/AZpO6aVuiAPGpf+Z8ZHrvHZ67hxkY8bm1wzoliuLTER8zJb/16Tcc3U= From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 01/20] baseband/acc100: fix a memory leak in acc100 queue setup Date: Wed, 23 Feb 2022 02:17:59 +0800 X-OQ-MSGID: <39845772f05511dd6d3bb6cce91d0313081cd007.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org We allocated memory for 'q', we don't free it when null check for 'd' fails and it will lead to memory leak. We can move null check for 'd' ahead of the memory allocation to fix it. Fixes: 060e76729302 ("baseband/acc100: add queue configuration") Signed-off-by: Weiguo Li Acked-by: Nicolas Chautru --- drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c index f86474f7e0..25e9e6435f 100644 --- a/drivers/baseband/acc100/rte_acc100_pmd.c +++ b/drivers/baseband/acc100/rte_acc100_pmd.c @@ -824,6 +824,10 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id, struct acc100_queue *q; int16_t q_idx; + if (d == NULL) { + rte_bbdev_log(ERR, "Undefined device"); + return -ENODEV; + } /* Allocate the queue data structure. */ q = rte_zmalloc_socket(dev->device->driver->name, sizeof(*q), RTE_CACHE_LINE_SIZE, conf->socket); @@ -831,10 +835,6 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id, rte_bbdev_log(ERR, "Failed to allocate queue memory"); return -ENOMEM; } - if (d == NULL) { - rte_bbdev_log(ERR, "Undefined device"); - return -ENODEV; - } q->d = d; q->ring_addr = RTE_PTR_ADD(d->sw_rings, (d->sw_ring_size * queue_id)); From patchwork Tue Feb 22 18:18:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108032 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9865AA034E; Tue, 22 Feb 2022 19:18:46 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 718B341151; Tue, 22 Feb 2022 19:18:42 +0100 (CET) Received: from out203-205-221-210.mail.qq.com (out203-205-221-210.mail.qq.com [203.205.221.210]) by mails.dpdk.org (Postfix) with ESMTP id CFFC741151 for ; Tue, 22 Feb 2022 19:18:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553916; bh=DwAvKDADkVs7IE7mcF2IcClCGLFw4Vxp4OYIJLQm0ok=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ETjQZWaJHAOAi+9b16GK8D4jEWSiofEHVZ1S5t6S+Ca3qI47G9OY0jh2ELo4IJ9rt OsgGX3+yZN/aLLtc4gIy5x0uASZ3gM6YuHcnd1iy3j4FpaC1USTj/GEkNBvxAPDKvL GQZSvCtgSoZuRMMYGs1jjNRN1eTsd34ON+yGOUDE= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553911t0ea8ce31 Message-ID: X-QQ-XMAILINFO: N0opbxSOYLeWeBduHNMesvvziNPlPlQrGZXPoJHEFVsV5z5qKmUgf7FxBx8Xek zFC58AgK/moYF5cAE/5FXwyMWmbwUx9sGKycxJLBrZvXHjPdTT9z6nMXxJt94SsnUy7KEXWpr0UR PM0RozGvAs7ZXhfbjS8TlHJsLY93nvPKgyYk1gawnLnvcFyzx4D/6smGA6g+Bj+MMS88mc9E8tim DLjbEgNq77VvFzod9any9AULF3ZZw1ls4QsLGkq2uu/uI4L/VuK1nVunFXj+M2paCPW20Q8IHfwp +zq7ciiPl6IybDlc0qviTRSu2NYbSPlJBs/4FlDjmF7FFDrsE1sOf0ZkcVep3Olqdy2kNtq1E71V F3FqjH9+aIUZsoCbUa4AyWPd1ejaMhVgJYYpByEuXoYmX4ukRvb16d2BdASZGA7p6ik9xsvNkdzc yuNb/jRQ3fP/8qgjNNqAj1XUfMjzW+SM3gEp4/zQmzJIgWuPGT1QHedrehIMTNPrWOOkHiZY4J3o XCMhy66hgj4JPl3657b36ZfoONYZw3sEGKUirRe2f7OOqi78K+2e3lvvVW2GauWZ+jw55wmxacBt vklpDd/UoaLVdnKislZd9Bj+1hOqq1ZVfRikKty3ehxxwUnljsPKcwkLn0ygglbGUM0c7f4mYHpm YI/D06ro+hvhnzC2+5XRO0HggXxyMdrOQdObn6WFwsZRjvniFJRqR5I6HjfyvfOQLPkP5uYVqcUv SbLD4mvmHK34BPlxTbY7DKB1BUN9Ubq3Lc8vFC8yus0beYH92XninFNyCTmMEsmGDI+nGYOiXbVp Dv3VREW5CFPwpbEaa/UhTGV0TviEgZ86lefrH3TbwngDyFqGaAYY56Le0y/HZVgLR+1aux/fQg+Q == From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 02/20] common/dpaax: fix a memory leak in iterate dir Date: Wed, 23 Feb 2022 02:18:00 +0800 X-OQ-MSGID: <8a17d8a3d16cf860a62a48782da19cb78fc27853.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When process_dir() fails, the memory to 'subdir' was not freed which caused a memory leak. Fixes: 2183c6f69d7e ("bus/dpaa: add OF parser for device scanning") Signed-off-by: Weiguo Li --- drivers/common/dpaax/dpaa_of.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/common/dpaax/dpaa_of.c b/drivers/common/dpaax/dpaa_of.c index bb2c8fc66b..a827b42efa 100644 --- a/drivers/common/dpaax/dpaa_of.c +++ b/drivers/common/dpaax/dpaa_of.c @@ -126,8 +126,10 @@ iterate_dir(struct dirent **d, int num, struct dt_dir *dt) d[loop]->d_name); subdir->parent = dt; ret = process_dir(subdir->node.node.full_name, subdir); - if (ret) + if (ret) { + free(subdir); return ret; + } list_add_tail(&subdir->node.list, &dt->subdirs); break; default: From patchwork Tue Feb 22 18:18:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108033 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1938A034E; Tue, 22 Feb 2022 19:18:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5472C4115D; Tue, 22 Feb 2022 19:18:44 +0100 (CET) Received: from out203-205-221-192.mail.qq.com (out203-205-221-192.mail.qq.com [203.205.221.192]) by mails.dpdk.org (Postfix) with ESMTP id 4491E41151 for ; Tue, 22 Feb 2022 19:18:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553919; bh=SxTbALdmkFJJ5so20iB17BPhK/GAFWaxv5TFPABCRRY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OfxN0utmt39DYwwzLXWM7vDOC04c8bQig5/B+Xum1RuQilueGjqAAYir+520ttDuz qkwurLf7K1Ty4Ra0EZE47s0onwjIWPez9eBKVZqiTBZWg4OBlS8+gb0K1qrb6nh+F2 2Te3IQWA2G00AUdFQP9tUfbLkaxKDd2Musb48Lpo= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553915tdmu863dm Message-ID: X-QQ-XMAILINFO: NFNrK8KlcSCRbUxslsI/YyyJPNrZRnRRM6ACClCUtbnl94lUi4m/j916j7SPE2 UC/vH+UOWfmDtbWdDR0fND8FNC2LfSSCT8wbSjECl0ZUDkoJrdT/h4UPpHIDroQPmKyuzMTbVr4E 7gE1H38YveQWrsRPoak6VJbpymScw0g8sjkqcFrsdXBDFfBgMkNL9w/ii79k2HYM52IC1EILrWkU fL+cA6xz2b6rPS/flAhzJMXarw99JPRt4XkWQ8ip4YreTIllaXomgdVAjUAmfms4biCaFNPVlcQe mYhUATZdlJbCkJ3WgZZIesSk1a/S+rkDzaLpYROtcpazDEdV7oTwxHIdTW67Rdbur1cBHPr7seOk foFcElDWb1frbEbb2eaDz71xd+SzgIAQKsbVsI1F1nGSjNzL+lVeSiwJnrmjMTOqpt8++m8KS73N ujgPOjQOBX0U1wuiJ7STZTUL9sKdEWuao25N8IFRzP3tTCG3XFia8ToBu3GqN0OfenjJhPihZS4C SfQLy14kWpPOI42y1XyZjSHWkL86x3tyq595mOFJq1uzUwCZb9tk6SsVDfGnEokzfUi9uJN9Awxq 7mTlMKMhKhmDHkCwj7pXGDAaVNeYE6+TwuUoEf2deCZGqI3SrJvv3egIdPpr3o2AGnOcKJejUzT6 IKzztR6vV4XIKlzBDcuDCxEH0zJj1zHDRVFNfBooCc8gBCOlGMz3gPTwePMtXSVuQoe+EYpUyQMu xHUedaJovkggPaHh2ij1IIBHVcAd4JsGArlHkjWxJAzkhlTzY0T58zFI56RkNMQWuUO8YVZJn3Qh QoxY+i+AXegHtixcKyGpu0JEgRo4Z4+pa7sFXJ/VXy8VMNlL+3goeOjGWwSnVgwvMurli2eWEzVf PkK+eCVSVxqxEwTZrPg0U= From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 03/20] crypto/dpaa2_sec: fix memory leaks in error handlings Date: Wed, 23 Feb 2022 02:18:01 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When function returned from error handling branches, the memories were not freed which caused a memory leak. Fixes: 8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation") Signed-off-by: Weiguo Li --- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index e62d04852b..3f8d4d213f 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -2037,12 +2037,15 @@ dpaa2_sec_queue_pair_setup(struct rte_cryptodev *dev, uint16_t qp_id, RTE_CACHE_LINE_SIZE); if (!qp->rx_vq.q_storage) { DPAA2_SEC_ERR("malloc failed for q_storage"); + rte_free(qp); return -ENOMEM; } memset(qp->rx_vq.q_storage, 0, sizeof(struct queue_storage_info_t)); if (dpaa2_alloc_dq_storage(qp->rx_vq.q_storage)) { DPAA2_SEC_ERR("Unable to allocate dequeue storage"); + rte_free(qp->rx_vq.q_storage); + rte_free(qp); return -ENOMEM; } From patchwork Tue Feb 22 18:18:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108034 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 02CD6A034E; Tue, 22 Feb 2022 19:18:59 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2594641147; Tue, 22 Feb 2022 19:18:47 +0100 (CET) Received: from out203-205-221-190.mail.qq.com (out203-205-221-190.mail.qq.com [203.205.221.190]) by mails.dpdk.org (Postfix) with ESMTP id BF35541163 for ; Tue, 22 Feb 2022 19:18:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553923; bh=oSWLP6A+isvMaxUxyTpUue7rcQmU093mPiPPGG0+y9k=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=cqkPWGUwzhMupNXPrqonmhgjSY7wMJYxJ/GCzu61JdDLiYNIxpPrMMMln+ppx8Rbx uG79l05wmPXI4Qezcb97XMx/VZ9pQk2ASdt6KMFbFFJIg9eq8AG//rtLXvc8eZiV59 nAG7SXPlIJdM0C1ajkofKsaxVQiZA4EoGYYEQ5uQ= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553918tw2q88q3l Message-ID: X-QQ-XMAILINFO: MPRquJFDOUjC7ho6kXnIbuLtA88IZQd7FcGiVVSOHs9ifNMf/1Sr+x89W7rIMo mH7TaJJkxVV9lwV8YfmlDgNg+aiD26RAFJmHKJFegkc7Q+ItP+3LMRLjolV2lVbx4quNpCa5ewkI r58pQShQy5OVG05sMk19pUbnr5Zfo/XHY4bwmvxw3r3QKkkP5I7Amagy7NTsj60FF1yjvaGvIdlJ 42NCTqUSKTkRTNSpwLczOXHTTlcjivYUy4pMEGtb6YP1UZ/9u6wyxO7GipznhBM1GtverNN/8Dnn 49sIEz2yMhZjbihg/gBkCI2JHF74sIiTq7JkQpQwOKQ91vw7rYxGy4XnsZ419fO6KGus72xRsJBi tPVhedwjcgoKD/qcEt5JFG0Ko2LDRe8NYsp0SQH+lz0Iw2pf0jP8TguDxShqY6U/WFw/x837srK2 LIGz7ZiSlcVGkbw652JtzUZrHHQ84mZbmS7uHyBdo9JS5H7hH81lHHDV03Sz/92lWBPxyV1NqQgs 9G/icfnpsukg29mHVacZsWCenKZ7OUyUqI3q2oO40Soji0dpZiPaXYMyWAu/aETLR1Wq5YLDt2mV ue0SBfo1CHGw0MLRBlQscAZikcTxQdcFyYBtH4vXsHRGe3MuC1Eu8PS3OZBqSOQQE5m2Gbt0eg+m IyymK3Iik8zb9Y450c/Fb7ikJhVkUPsFcesxZDYQ9JnEISb+762w+o/pYuM3lS202GX0WYCtjcQa dqBqRqOhvHRlSPE4JA1jmdiaeMFGFJ93oKr5535aAuAIK2IeyQzjexQSXCv15QzRbAISxa2ULfpE 0H9T8xpfHWmwILOhZhZP/2GpXXCNmzZE4oa6dbDLgMFLri8E8n0b+bdKDrkNK4AwYHbQcUMb0Kta eP7IVYLTBi/xfM9QGtq3Yno03Vd/KCtZr/Lq99fKj3OlCai6CEtDY= From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 04/20] crypto/qat: fix a memory leak when set encrypt key fail Date: Wed, 23 Feb 2022 02:18:02 +0800 X-OQ-MSGID: <68cc1842c6763c0b23b72c951ff45ca18a727387.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org We allocated memory for 'in', we don't free it when AES_set_encrypt_key() fails and it will lead to memory leak. We can move set_encrypt_key() ahead of the memory allocation to fix it. Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices") Signed-off-by: Weiguo Li --- drivers/crypto/qat/qat_sym_session.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c index 8ca475ca8b..3dc13942cb 100644 --- a/drivers/crypto/qat/qat_sym_session.c +++ b/drivers/crypto/qat/qat_sym_session.c @@ -1400,18 +1400,17 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg, memset(p_state_buf, 0, ICP_QAT_HW_GALOIS_H_SZ + ICP_QAT_HW_GALOIS_LEN_A_SZ + ICP_QAT_HW_GALOIS_E_CTR0_SZ); + if (AES_set_encrypt_key(auth_key, auth_keylen << 3, + &enc_key) != 0) { + return -EFAULT; + } in = rte_zmalloc("working mem for key", ICP_QAT_HW_GALOIS_H_SZ, 16); if (in == NULL) { QAT_LOG(ERR, "Failed to alloc memory"); return -ENOMEM; } - memset(in, 0, ICP_QAT_HW_GALOIS_H_SZ); - if (AES_set_encrypt_key(auth_key, auth_keylen << 3, - &enc_key) != 0) { - return -EFAULT; - } AES_encrypt(in, out, &enc_key); *p_state_len = ICP_QAT_HW_GALOIS_H_SZ + ICP_QAT_HW_GALOIS_LEN_A_SZ + From patchwork Tue Feb 22 18:18:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108035 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 04328A034E; Tue, 22 Feb 2022 19:19:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F125C4116E; Tue, 22 Feb 2022 19:18:49 +0100 (CET) Received: from out203-205-221-191.mail.qq.com (out203-205-221-191.mail.qq.com [203.205.221.191]) by mails.dpdk.org (Postfix) with ESMTP id 289FE4116D for ; Tue, 22 Feb 2022 19:18:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553926; bh=jMo7bxp26KKCY8jhxVwS9kR377l9jqJbp7bGJGORCgk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=aKLiV/Ux87hnpSk3cFV7lZa8/tkSD5V9w0ZfnCmOuO3tomwPYzAT6aEWpcjHpf9Jp FXSpBSt5IUOQITEjswyPc2sBth/SCOqYh9Mb/qQ0tnkH+/GIc20OWg1T8Pil/eHiGk ClNsBXPGw/bLA0jhjV2H59UUc27yqz/IZr5ka2GE= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553922to2fenu88 Message-ID: X-QQ-XMAILINFO: OE2SNMSfMbmOQgxrkAJK7JbaZ4UGc0rBdMVPb4CefpsHrHtzCCgqMaxDf/pkP3 Dr1ymtnuupywwtPUnitphuC83CY5e9hcF2UUkXWZc5k03xAnQwvh3TlJUusrdPiuxM1vkX0TcNv/ 7VvOsRNWytCH1jwRCQR7AWUaawuHiA2n/lw5gfuJzanfWtDpg6eceCJkxUvPQ5oJ/Yg49FwMPPWi qL12k9R/FJPVcrwJks5gC5e43RkaOOH9u7sbQMuTNFVHbevPxOoWESMCWD7QGz9A7sBn0laWMPOA YN9ZtEeVE1IxN73tv4gvi6KzPn/3DA4JUDdzQmcJmL03Sn574JMA3IM4aiYxPf21kc2PJbZU4N8b r08U2AzcDeBNxRZoKpx44Fwg3k2NQKtYUP/XAvgYfxqIjwF/1RCYEZukZCJ5pDFgBBOIoib6IMy9 nLu7m1Rb/qRTDkOoj7gV00BsztJ1PJDrrVtiKyQFkQnIDgyeZjKxjikPxbxOz+4E81qjAvRu4oiF oU15yJChBGZq+caknTTRWXKitl3PLhpglT9kiYeaQLtqd+gscBTD6KbDAVFr2N6s/9MYHjNCzRuz D9UfZ2PSdoQ1Q/e154v51o01Nt+wjYgb2jGb8pdiX44Cvt4Jcs5Yktpf05L73nTGj2r74aRrcPC0 k5Abw9NCzo/tLZ3DFWIQfrwDBB5hj8BfSuODxM2KGFXY5Mt/L7gz5DI2mBMXBC+BxoLS+I5U6zZy /MJgu/Er0sPaMu3lzZMTU+XLeFe1FHA+I1K/e9COabyiXNmizJNeEQAQYjgZYr9+K9W0qJukr8F3 CcNrDgwwIqpR8PFehJpN/oUe50ySXnbdks3TO3TTBz1KB/NW8srT1LRcnZWQWhliSZZpscIqFW9U 3XLXGSeetIaN5i4cVdh2nDMJ/7p5hRqA== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 05/20] net/bnxt: fix a memory leak in error handling Date: Wed, 23 Feb 2022 02:18:03 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When run goto from this branch, the 'ulp_fc_info' has not set into the context yet, so ulp_fc_mgr_deinit(ctxt) in the error label can not release 'ulp_fc_info' in this case which cause a memory leak. Fixes: 9cf9c8385df7 ("net/bnxt: add ULP flow counter manager") Signed-off-by: Weiguo Li --- drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c index 85c9cbb7f2..b055463ea4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c +++ b/drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c @@ -86,6 +86,7 @@ ulp_fc_mgr_init(struct bnxt_ulp_context *ctxt) rc = pthread_mutex_init(&ulp_fc_info->fc_lock, NULL); if (rc) { + rte_free(ulp_fc_info); PMD_DRV_LOG(ERR, "Failed to initialize fc mutex\n"); goto error; } From patchwork Tue Feb 22 18:18:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108036 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5B0BBA034E; Tue, 22 Feb 2022 19:19:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF9AD41159; Tue, 22 Feb 2022 19:18:52 +0100 (CET) Received: from out203-205-221-190.mail.qq.com (out203-205-221-190.mail.qq.com [203.205.221.190]) by mails.dpdk.org (Postfix) with ESMTP id 3FD2A41174 for ; Tue, 22 Feb 2022 19:18:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553929; bh=Xuj3KasZs2JjQfadj+76a0NMVuni+3ir6ZNwj8opn7k=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=TBSTYvr1fxdQIzVipzPGbIUPJ3evDhCAoIYqu/UbVkI/9kNhcldJgCJ157rJ9f3pk RaDk6chnrBbkaB60j8bNWMiN+QgLE4zhLsOKc0ycLSfVJZ0WAA2mqc7eIy/J7XMwDN j1MJQZRC7+YQqvfsUzGEdaDpRyA1wxvbGzAD9aCk= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553925tfsv9uksk Message-ID: X-QQ-XMAILINFO: ObFHHlrAm440vGD2CmL1GKPOwjXWz3zFUC2Osf47LjSuwV3E9tckEz/Hm8NmaH GSdtMjbBZzbFSeZEJL8Ndj8RgwR2ihL5nxmGEdOVHvBqDQuY37KNbrGUjibB/VtRzWsZdePxaxPZ Mp8KhY4cBrPeELELP3+p3QGl3iJhjzsqOWTqItI7uO715Kd0TOVqnsMCjvxqOrxfQE3S/3aWUYOj Xnb/W3xiLPAUKC84nbCfoQxC8aTReRMIoV9YSCtlfuRwzt8JJBynrZR4ftGCUU14yqXUJM2/mxYy CrUzRTJ1Em36OQ+mtm9oHeU2TDdQxt86vXvGvSQGGV4IvBYtTo4n8rg7xkQBy6xwYiq2w9gRHTGu npjdy8eDtuq8tG/3v0QBly9DnzLkr2oHbXD2+0uc6bRAJw7EhNUoPgn5zGU0S/7Kj0eNsiwzt+y/ Tmr2yLx0ketF/cyBb78Ersh9ZqQ0ILp/mRa/Z1CQK7hqGM54lKJWMBAdTC03fGWpKOyWJ2QUkiNX nYMB2F5N2eoyxrBqbHnzAr9RcjKfBArlGWBq+AAhh16tK9mnUd6+7FEWWIRpr122oaBcsyUro9ap MhxPodLci5VRCDTqGA50Jsq4r6L5uHJjRJCao4f4mfBmYi91i/t73k12jGLBVjtEYvHyZMxY9F2U K4Cu9tE8X0zH/TMKicpHr8ny9bhBgyP25/5D7EcXjiwBZLPHxQWRJgit6m3t/oddu33z/BRndkbp ocVkT6qRa8WkeYF1duQ0eKu6+kA4cUXsfiBAztgc18BgwNy7OXLLwh1hXxgZUuBwVc4FOtsZ5IQR JerTVVy1gT3fRAeaEj6alvcAdYc1mwE9i11foijCjxXifLmHoL5lWp3ap3/WW38K04OvbU+gK9/X QDOmtqtLow From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 06/20] net/bnxt: fix 'ctx' memory leak when new malloc fail Date: Wed, 23 Feb 2022 02:18:04 +0800 X-OQ-MSGID: <76cf0a814b97095108961949e14e78ebf3ca1fa8.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When new memory is not available and the memory "ctx" allocated beforehand was not assigned to anywhere, so "ctx" should be freed, otherwise will cause a memory leak. Fixes: b4f740511655 ("net/bnxt: remove unnecessary return check") Signed-off-by: Weiguo Li --- drivers/net/bnxt/bnxt_hwrm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index b4aeec593e..4993111ccf 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -5374,6 +5374,7 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt *bp) RTE_CACHE_LINE_SIZE); if (!ctx_pg) { rc = -ENOMEM; + rte_free(ctx); goto ctx_err; } for (i = 0; i < tqm_rings; i++, ctx_pg++) From patchwork Tue Feb 22 18:18:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108037 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D70DCA034E; Tue, 22 Feb 2022 19:19:19 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D7CF04116D; Tue, 22 Feb 2022 19:18:56 +0100 (CET) Received: from out203-205-221-221.mail.qq.com (out203-205-221-221.mail.qq.com [203.205.221.221]) by mails.dpdk.org (Postfix) with ESMTP id 58E104117A for ; Tue, 22 Feb 2022 19:18:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553933; bh=HqIdzOC66tf+SUSFZ/B8pOEf1e68XxRDR13BoXlTK/c=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ef0GWyNcsxyHgr3mjZEpGR5vDLk/qVhIZygcn4SbipExkuV7ve0GHZ0lfhzc22iZ/ EQr9Qjxt7zKayWJGKENwovcr5vDGfEACngx5u7Di4a+yHWl3Tp4fOjcyMcVfpDPdU3 hfDunZkRmEPRmPtSUYZkcIBRCeyHzLkDPOgz0emY= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553929tvlqfg5k0 Message-ID: X-QQ-XMAILINFO: MJp4BpBFe1fJUT2+UQHG+XRlUNxL5Zljge7NTEP1a/EZOqsKmBVVfbHegP1bJE EHMhU92FlkcQmhDHx8u5mW40kGdvRPs1PaTafREn7IauYXkGLJBdSojXR4urBHOBC8G1LpidHa+b lTuYqFDwXP0UdMqx+DYC92e22K2+fHYGCH+wMQr+Rq/nZZSNZ3dLTH0tInb/gQe8aleR1s8OjS04 D+Gd4qnZAr7J7cv1J0om6cgsv7rxoBlyNssu8nT0ba2s7NSHpYqxo9cS0Eo2YgpZWU1/HC4OXaOp okVkywqFXYAU2+EJ7qIa4qR56ksxla3b/Y4LUXLjvSzIS+mB/cTFSRkMJaOPXka3+qNFQqPkoeqh Va5ybSx9TyaJElwjWcf+T9aOy4CeMRR/W14fjx/Azj57YXcpDWBkk5OF9qlARy1IAw5L9LdQL98I NQLVz8rSdWPHJyfNHjVV0TH5CXI32BcHcqPuzGFUXyH89rgR/4oJxiWXTEjGwFqV7xh39B6/seUJ mR5tQ0Dv8ZyGlzeusEbvXWjK6aFf/VztAUHEm2gnLHxy03oZ2z8ynpxkUyuwKGepoHMwkPh7nmbW zK6zAv6FSLM+/Z3FFd/zC4KVQWjZvaTYHPaSIryGLxOrTfJMku5kT3JHXkcYmcjWOWPV7ON3aO4b vl90RDnKfZxjxRgXBAN/cem3RTjCA6HP7ItVCwjlhIzfcs3YLwBrTSkRB4y5jBU5tT/tTBk77BKl OoQIQT5RiZJSJEzCTDzjTvsREmFxJNiq/KJ3m8grUAypKdER0RNwvWNuCCjJrjFWQxegdlVND5Sb eT3Uat/Bkq3kW9jX1lGBvZZaC5XshKvrCNkPVLVPQvozq15rDrepIXFr4ti0A0Lku6u2SE9o04RA oL185UHd1Jo5i/xKoh/r7gMLZkHN4oaQ== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 07/20] net/bnx2x: add clean up for 'rxq' to avoid a memory leak Date: Wed, 23 Feb 2022 02:18:05 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This error handling miss a clean up for 'rxq' which leads to a memory leak. Fixes: 540a211084a7 ("bnx2x: driver core") Signed-off-by: Weiguo Li --- drivers/net/bnx2x/bnx2x_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c index fbc0bb7698..9ad36000fb 100644 --- a/drivers/net/bnx2x/bnx2x_rxtx.c +++ b/drivers/net/bnx2x/bnx2x_rxtx.c @@ -139,6 +139,7 @@ bnx2x_dev_rx_queue_setup(struct rte_eth_dev *dev, dma = ring_dma_zone_reserve(dev, "bnx2x_rcq", queue_idx, dma_size, socket_id); if (NULL == dma) { PMD_RX_LOG(ERR, "RCQ alloc failed"); + bnx2x_rx_queue_release(rxq); return -ENOMEM; } fp->rx_comp_mapping = rxq->cq_ring_phys_addr = (uint64_t)dma->iova; From patchwork Tue Feb 22 18:18:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108038 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 07963A034E; Tue, 22 Feb 2022 19:19:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C628841180; Tue, 22 Feb 2022 19:19:00 +0100 (CET) Received: from out203-205-221-210.mail.qq.com (out203-205-221-210.mail.qq.com [203.205.221.210]) by mails.dpdk.org (Postfix) with ESMTP id 5D82B40E64 for ; Tue, 22 Feb 2022 19:18:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553937; bh=VR85ho/KZ3DfL/y2x7cS8w9f7CWAU4w+XlzMAyCxcus=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ZHchRjgMtogqVMggjz3TndgX+FCs6IVNNNGaqiGe2tfoEgHmwfKx1uMcY1msYGXG1 bCiBisr9QHaJ6bXqi6sn8AHc1gIOd+RHpHnmzSkYhUnbyL/yQceIcL3qayUhS72wpp ZnC76iW4aLVX5C+baaiKx2i7qErh55W0P04F7caY= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553932t6cvrfv8i Message-ID: X-QQ-XMAILINFO: OBvbJS/7aDyUsFxSfDJH6vq1V+apSQ0/PFMUWYDUqOSegtWtSsVa+k6dD4/jKc 0hd3qdVmS4QFT2c6pIcmTNbFR4HddIoMMdip7d60+RCRrSc7NnRus+NiJhfCIOmqBDr+DqtHeL/C +7XD7P9+//PH4p8UnSLkUzndHaWDvHZHPqoaHX4cobuNNU/ad09erggwrpa126A5P0ZXKz3tEGya 01qKxhKSYvOfiA0B28QABrt5na6xhhUreBL4pGOM9Pt7ng5HamIrJxPQbCOVeMW6oXPh+B9AouFP weOx+tC0y/vvwhhg8x/N7yLLNP6YsCNLrOPkS3KnKP+KVKJA3WAhf3qOZ++dBsb4wKlQCg+eZmqf VdXs/hPdZFf0jrtbWwS0VQ9cP7YxRcQrPkeWX9CqakDin+PhMWLSZHY5YaWha83IfzfYgNVwcJRy l3gyqhlR3Dz7PlF8AIKmrdYRPM6Zri4ICnpcwZTPFagEETHClVGCIBnnM4WaFplKQYiqE5oklD7M aA7E9ptom1+O+I5STBO+5Nwl9zY2+9+6PaS539CL5pWn9OLMkKL/yoMUcvWyloSReBzMN3FRQyoX qVDEjxVuVmyXQPrXYBbT9RiIgn3qydpHy35AkMVF2jWcp4nbYkJtEqjMoo4JG8bafcw7EVTd4ljL s40qD2AxKFSk9ZcsRmJVtV4SuXDRuwZEdsMzr4OTQGd9McBJ59yZZQ2W6qsTXg461YgUhBZwUL37 mUCF42CKZAUxPJq6uq6vOAzZ9AScg5lOCbVceHSIxGzJWQMCGeSSP78J/6/ztLDEcUhs5VpD/VYp lJQYYo5wfNjCbJM0oFxhpHwcNeoj9aatig6QDEZW7ecnbBNvef7YK9eE1t86ipPtF2bm3qZy4axA == From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 08/20] net/cnxk: free 'node' memory when node add fail Date: Wed, 23 Feb 2022 02:18:06 +0800 X-OQ-MSGID: <36cc3a0c99f123a574b60cc34ac3a634a233a600.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When node_add failed and function return, then the memory of 'node' is leaked. Fixes: 4435371b8fb1c0 ("net/cnxk: add TM shaper and node operations") Signed-off-by: Weiguo Li Acked-by: Nithin Dabilpuram --- drivers/net/cnxk/cnxk_tm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/cnxk/cnxk_tm.c b/drivers/net/cnxk/cnxk_tm.c index 9015a452f8..81afafd5b7 100644 --- a/drivers/net/cnxk/cnxk_tm.c +++ b/drivers/net/cnxk/cnxk_tm.c @@ -389,6 +389,7 @@ cnxk_nix_tm_node_add(struct rte_eth_dev *eth_dev, uint32_t node_id, if (rc < 0) { error->type = roc_nix_tm_err_to_rte_err(rc); error->message = roc_error_msg_get(rc); + rte_free(node); return rc; } error->type = RTE_TM_ERROR_TYPE_NONE; From patchwork Tue Feb 22 18:18:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108039 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 518BEA034E; Tue, 22 Feb 2022 19:19:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A089640E64; Tue, 22 Feb 2022 19:19:05 +0100 (CET) Received: from out203-205-221-192.mail.qq.com (out203-205-221-192.mail.qq.com [203.205.221.192]) by mails.dpdk.org (Postfix) with ESMTP id E403940DF4 for ; Tue, 22 Feb 2022 19:19:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553940; bh=R5pjihnX2RnKoFmdFZEKF/Y8vJaUyHZVgzXPwYDz8Vk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Lt4Fd/VKyt7aFS+y9XGGWIBs3V+1zuxd8g5DVg6QIiPbVBnWg+Yo5IJ7XMLMPkAMa BkAb+6Nsw3PBuWuvidhIML/7g4oBZtLxqcWu0KKznqxJzipWOPs0pYuWPkdItNqMed vTjo4o9M0dWwtaAvp2HIGKqlx10koLvo4yjnlz4s= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553936tkv0smi68 Message-ID: X-QQ-XMAILINFO: MX+1SEN3H+wA5JwU9mjAHdk9KvlWT6ujPrE44FvCuWgeCDA2W4MQRYJ+buJLVi zrqnBrFsUx5lnRB5LSyxw165i2KHAXrJqm58WtHDea4E75U4pqRR8uv7qqCicGl0T1/9SZRwQiue 03dlHHXkbfCK3iyLfjNpx5Jed3JPracufhxtAJtj1B/SPCc2DTY0bIsEfHHp8xZ+qPsqWoJfxSDs Gz0SjLyG7x3iSNQ69ZfHT3GCsYAw/3G9xB9klo80TT/PKQYht0ChrXUDpM4MwVc8+8RSsTmUGZRa Cx2fBFP9q6huyMC0J4LbnIqS0/tDM+SpM7MwJ9qCk4h/4/ZAZnik7TqXisvYJPBcWas7nDuXtqXp 2zJLwu8BAmZtBJHqf0cuW7IKy4iNOy9+KMn8XhNWNJ7/2lpqJ0Dwx2kk3dnCQFAauKEv3XmTU5D3 rTP3Ztf1/g/tv1q4o91siVM/qQGQ++nFYq/SIIa26j+u5vT9O2/Bsn3qmiJPVPxwSRbRWcBbJOE4 IwGtfjEuK+4qkzfQV4KCXUUZtvbmgJBwJRHdgaJVRKe+I6BaojiElbiHEkeE4INcecqpO58LiVDe r2cmPrTnU5QV7ivu3xjXL+k92jov9QqDAOyCKmdbjeed/4jo2pJ0m9QoUivblmu/T+MLquzs6Li+ NUiR3E9abSg/j/et15hEOA2am6B1Q/ec+k3ntEkBbWZmGAqi2TmdYIqmOQRG98ZgeMYIm5OdIU+s ycYiYdjBFZDzENLz1EvBLKKObgIpoUfKZq36CuQmbqZgBypoJ7WUzn0rwvWDkUDMeBT84TxG8wS+ lQrTdkZ3BzQ4FhJtDP7SOed/GlXh6QvrOXjsq0alswRgk2TCQW3xXueL72qIz3jRV+esdCR6FySi LklhwKV79I8CQpwYoHQoY= From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 09/20] net/dpaa: fix a memory leak when validation fail Date: Wed, 23 Feb 2022 02:18:07 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When buf_len validations fails and return, the mbuf is not freed which caused a memory leak. Fixes: 8cffdcbe85aa ("net/dpaa: support scattered Rx") Signed-off-by: Weiguo Li --- drivers/net/dpaa/dpaa_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index 956fe946fa..f66d975969 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -810,6 +810,7 @@ dpaa_eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf, } if (temp->buf_len < ((mbuf->nb_segs * sizeof(struct qm_sg_entry)) + temp->data_off)) { + rte_pktmbuf_free(temp); DPAA_PMD_ERR("Insufficient space in mbuf for SG entries"); return -1; } From patchwork Tue Feb 22 18:18:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108041 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BC8CBA034E; Tue, 22 Feb 2022 19:19:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A29E5411DB; Tue, 22 Feb 2022 19:19:12 +0100 (CET) Received: from out203-205-251-82.mail.qq.com (out203-205-251-82.mail.qq.com [203.205.251.82]) by mails.dpdk.org (Postfix) with ESMTP id DFC96411CB for ; Tue, 22 Feb 2022 19:19:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553944; bh=iQkeHM3yZV1xBLxhT3xXyuEjGvFRaoupb6q9Gs40vgI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=h3kg4kTUjFJAgXOdlJlOW+CSVV71ZXySgsaBoxFgxAR54ksMiyJW4A4Rjm/ctgh2B TWjrahvlIh/ocoEAnKlqnYftz3ytgd5iUb1S0jqYirLZ9CRBhVjWeuXw6zu6P1kT85 FGxx1DZxDKT6/xE9sR8+MhGLgLVAtkAms+FOLg+g= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553940tx4dp7kae Message-ID: X-QQ-XMAILINFO: Nwz8Cs33/LprsdqqqVMBtVZloJLxwJEstFF4ba7QnxdC6BJfSjFcLUc8NKF6tF ydYlOhzFoSf3g1tHX+E1538cf7APFE3BnxULrtB9C77g8r3UrluDuAXW/D55uO+y0sgP+Zzg13x8 7rLWJghFYxKlNyBu6h+qCql78fNOAIfYjO/SFFM6tT2U8JdhAfaJX1o8Z6xNr3bGRMCTcqxadiaK fMwsSDn8bb12nb75hgA+S1iPW6u6lDn/1tHrocp2ygsdh/cAyfCp28wFOmjfWQsBy53xGDzK6vRC 102PE8geXPkxpTLBLocrmBbmJ8x/kaBMpeZYph1RfZ2SyhviLNdJtbRTwLD3QkhPXLWlrQNcVw2f 0J5ew+mwuv6viL0RUWMhRSE204gTQ+A7r4ZwxwaSOA1z0yHoVyvRd/vGTrG3LZvK7cZ2HjrKYWEG X8f8rOsAD6yIRNGZltxb0m/4Prf/iYSJocoQkyKVXnd2q4pocIHroH0qi5lMiwgBDRWI+//StNgR Lnm8MavL90zlMxPFnzk5G6MSwJ4y+fFACUF2hy8mTkRaUjvqPNYdkIDv4IaJNOj+fmzgsF+2wgvm 2Ae0NpEORIa5wPE0K1X4XKTmoq0K8pHPZU/xVYqP5B4IJLipqcaqf5c+2lr1gwm3/+91BHa73IlR VS4+vYONI1amJGTuZaSwyGj7EMYiWUTC9Ig9DYNmUayesNc5MQMRx6rDGBV7/cyyLm54sCSf8CWF YdHENx+B1y4jf8rV7UVySCVaZfqoq3b1qYsA9mgDiG7QpZtuDwQEFl6nPx2687gnuH7MUlk9Ix93 bshSAyKAGWNTEVvCPp7eC9APauVM9pyQdHMOiu0IJe1PpcTMd+k9spjUNEHVwQElOmpoUsFjikOC KiH0CJKxLuBL5hYJ2eBg+HFrrCHu5eCQ== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 10/20] net/failsafe: fix a memory leak in error handling Date: Wed, 23 Feb 2022 02:18:08 +0800 X-OQ-MSGID: <1667cbd78444bb38f61339fde94a6c995a34a467.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When failed at 'rte_intr_efd_enable()', function returned and 'rxq' is not freed. So free 'rxq' in error handling to avoid a memory leak. We can't not use 'goto free_rxq' instead since 'rxq' has not assigned to 'dev->data->rx_queues[rx_queue_id]', thus 'fs_rx_queue_release(dev,...)' will not work in this case. Fixes: 9e0360aebf236d ("net/failsafe: register as Rx interrupt mode") Signed-off-by: Weiguo Li --- drivers/net/failsafe/failsafe_ops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c index 55e21d635c..4d4e2b248f 100644 --- a/drivers/net/failsafe/failsafe_ops.c +++ b/drivers/net/failsafe/failsafe_ops.c @@ -444,6 +444,7 @@ fs_rx_queue_setup(struct rte_eth_dev *dev, rxq->sdev = PRIV(dev)->subs; ret = rte_intr_efd_enable(intr_handle, 1); if (ret < 0) { + rte_free(rxq); fs_unlock(dev, 0); return ret; } From patchwork Tue Feb 22 18:18:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108040 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DDA64A034E; Tue, 22 Feb 2022 19:19:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CFD22411A7; Tue, 22 Feb 2022 19:19:11 +0100 (CET) Received: from out203-205-221-233.mail.qq.com (out203-205-221-233.mail.qq.com [203.205.221.233]) by mails.dpdk.org (Postfix) with ESMTP id 7C8F8411A7 for ; Tue, 22 Feb 2022 19:19:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553947; bh=AuLDVMGbbOBTXeoJiwybOEPLIguDnETqNo5NOGxMDNs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=r0Y9pzoIaQemUQM0UAbiePWhPCl0L9rFtL+2hW63Wf8MaBBoOvTrAD59ws8mzP08a t0/50Utjtmbc1CCM04JvrWRJ/PHG5ZwlSoTJtzDlJgnmWMUQJwFjoKIfHcJFmNDptm ieavkJrTIYUo+OrIFw4ze53+sumV9VNACDWENqzg= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553943tee7gqf1j Message-ID: X-QQ-XMAILINFO: N+AV0Bxqx93JUO1PRIjNY3BZV3TgvI6X17IhAUZgE+VCjXFOyY5nHpUHr7aRxH h5n2/LI4jiPvVZVjPEfXsouUGY8P9mWCKeUOiHBViVHiWpNsNgRUSY0kGCgLJaCYRXHGNM0dSjbf +PGznTYU2qTqozuABv0ScGfjazHTN7ZBWU5GvF7l/HfOQ07kPKFZRzrbjx1qFmxxjOPcBOF9gPKa OFw2nWhErBsJXivSJAX1O2+qZHi1ru2n3KXkcbmmzTTBK3h8qOjVnVJbH3NzeUnL2lmKs8nyVC/M ReiFbmep1QZYQhERFqqz2HLYw7YIaXEig4BI/gl9pGfQRed6GjMKA2CQPRRchEtb6TnUyJvJbq2e IfvxPMOTegLnElPnThJCjqZiSDDvSXbWhpNm6eSd/naUSnw468svL2TraeuWKU9CLOFXaDxfvzvz y1OSnIyLZEHLq+TACowynQIAosRc0cB66eSYU7r294QiLGky/EO6HmqScKzLwyxzcV5JWdmQSVg9 U26Y2qmURZsV+elbvOy3X0MnZJiHOSnWx4M2xQfh8NMytuxYLjO+rc2xTVhpc/o/eJilA4tKThQu erxvObrH2l5LTAiOpVxo1622NmjVK6DIkVYoDgX7eWSkyYl8WdMQlNmb38SC5bfcKvi4BrTr2urz cwJpRhDB8Qq7yimvAwOGvSpfo+xkbncIp6fmX7bU0fUPkvk3zGHe1yAj7rbOg7xYsdJ3W7MwsPPU EFV+BhxixsAJ/YIwTDG5d3vtmoQO0db8lrisrNhEcu6KuPt3uzuqf9L6p8/BoEoWov0kKA6Ix6T1 52w2yTkFf3uBvXsBrXq09QwTwam3+gQLfHnUGPyVVswTj6qH49TDqPIEIwRrjKJR2sUSU4Tc6CQ2 p+/5tZ32F2QzBe14SFddcP/TCf4EveUw== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 11/20] net/iavf: fix a memory leak in error handling Date: Wed, 23 Feb 2022 02:18:09 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When function return from this branch, memory for 'items' is not freed which caused a memory leak. Fixes: ff2d0c345c3b ("net/iavf: support generic flow API") Signed-off-by: Weiguo Li --- drivers/net/iavf/iavf_generic_flow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/iavf/iavf_generic_flow.c b/drivers/net/iavf/iavf_generic_flow.c index 2befa125ac..a733ebc613 100644 --- a/drivers/net/iavf/iavf_generic_flow.c +++ b/drivers/net/iavf/iavf_generic_flow.c @@ -2013,6 +2013,7 @@ iavf_search_pattern_match_item(const struct rte_flow_item pattern[], pattern_match_item = rte_zmalloc("iavf_pattern_match_item", sizeof(struct iavf_pattern_match_item), 0); if (!pattern_match_item) { + rte_free(items); rte_flow_error_set(error, ENOMEM, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, "Failed to allocate memory."); return NULL; From patchwork Tue Feb 22 18:18:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108042 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3B0EA034E; Tue, 22 Feb 2022 19:19:49 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8742841152; Tue, 22 Feb 2022 19:19:19 +0100 (CET) Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) by mails.dpdk.org (Postfix) with ESMTP id 166F741152 for ; Tue, 22 Feb 2022 19:19:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553951; bh=kyFF6NZJfFm48rxHt/Bt40m9if/CTMSx6pNAS1iX6PU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=g6ThxPKWTbp9O82ExL2KeqsvqVJUwEOo4w5kujDQgboUim48asGqh1GFk80HR79zF ZYFAzqU/AsrKklH5JFHVegieP/CZwMsh4/Jq7oY2jJqccKtREuuIUpEklm2cEUYJ6Q 5zNiMQvT1CorAlptznHpMNQPWliNKvEVVWcXRCE4= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553947tlz51a11u Message-ID: X-QQ-XMAILINFO: Nb6LX7dsrQEkVIwNM+LXzoRW3xsQuuRL2BPvapxdBqeMSGoWYapwIQEQM2tUs+ V0CHv7meZz2CeXTaUa23FVMfF7NN7DM++9qlpbg4VGBvcrWpxP7NjdIVJ72/JG7ABZTkC6r67wef e1QSD8SWQy/fgfZ050lO9L2KoHZQD6ctbgMno9pa90mNklQxwKcobKEI7A2UilH4Jrnm4egLQeAC 6J4Cc5KD0w1Mg6rEVn4ZRdVShi3afcC2SOGztfX0Ovtv8dKWpPe6M463kDv9NbsHgUhTCxUDc0nt +15c0UpbbLLB+uNZltaqK2/A64VRZRptbsKLsB+db86WIZWgNB6d7/9t/m9RGfZrQ6ZY7TQjSHIf l1ie3VOgAism2UgpDkHIcrllvrO3cOswqQuw61Zfz/tsCKJMC2AnDV1doJFM7miJecByeoNEwjJo kPqvx08Wf0dh3KOQ0YLGpMMofOeoKQwaX/f/ubH2e1toVdnZ7x/tcbBui/KlCLrKI9qFRmM4xgA6 XNVyUcxU08WiPN9WwIw1BRDZwTamnZ/LDbFnO4BJB8jfMjLt4IEnr++avUSxJQAX4ETk2ZfSZGGH f7uWGHOb/TgmQweM0g0Cjj/Yw0mYR7DG7VAMxdgwRkvvvTWFxDhz9K0dVigmX58cye6sk+RnmYSD e4zqOAFXKYt1M26n/fFyoIgcz9fKF9J99vfzpZoa2SeITPx7AfQVJMykSTg6fB6U65oSQP0d5M7x snm5m1gK7ceAOQ37b8gVSb+usaCjsWWn6En65oTrGoxj0Oj4NwROoSjhcroBUFjTZi63NSKwQLbt ut3213AOK93f5oJQPZKdOn0ZgXCEnpx8NLZjUvyGunHpWyPtp/+8WnuWzuABhaqYdo1uoMdzthip LWkeRvks2Jb9+yh1OJYMKv3FNRnmgdwg== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 12/20] net/ice: goto clean up lable to avoid memory leak Date: Wed, 23 Feb 2022 02:18:10 +0800 X-OQ-MSGID: <49cbb5570f58e85951f2f15b397f531dfb495a77.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When function return in this branch, the memories of 'input' and 'rule' are not released, goto corresponding lable to do the clean up. Fixes: 40d466fa9f765b ("net/ice: support ACL filter in DCF") Signed-off-by: Weiguo Li --- drivers/net/ice/ice_acl_filter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_acl_filter.c b/drivers/net/ice/ice_acl_filter.c index 8fe6f5aeb0..5ddc5262d4 100644 --- a/drivers/net/ice/ice_acl_filter.c +++ b/drivers/net/ice/ice_acl_filter.c @@ -530,7 +530,7 @@ ice_acl_create_filter(struct ice_adapter *ad, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, "failed to set hw configure."); ret = -rte_errno; - return ret; + goto err_acl_set_input; } if (flow_type == ICE_FLTR_PTYPE_NONF_IPV4_OTHER) { From patchwork Tue Feb 22 18:18:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108043 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BF781A034E; Tue, 22 Feb 2022 19:19:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 672D9411EE; Tue, 22 Feb 2022 19:19:20 +0100 (CET) Received: from out203-205-251-72.mail.qq.com (out203-205-251-72.mail.qq.com [203.205.251.72]) by mails.dpdk.org (Postfix) with ESMTP id E656C40DF6 for ; Tue, 22 Feb 2022 19:19:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553954; bh=ZH6CClkNDEQtuN85rKnNN4HUnBHfNN194X9JjalKC8Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=nPc6bntAjbmiFdZhzNqcRipg9SzF6fJzkAEChnQP9eDgn3KiggorB1sqoq3J3+hsK bMmPOATlp21y0GBh01oTaRpiEaw66vIAkOES1fgHvt+gsJ3nEI25gN7wXyElfeWvm7 HD9UA3oI/S4g4bWd9A3SlhwofHgKwbQ+GTPweuys= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553950t64c654so Message-ID: X-QQ-XMAILINFO: M3vv73qU6a4ul8qWHlI6vJ3ARnhbWKAR/fRfFBij+WoB0K8N3kN4tcUFyp6RKM CT2hbHwohlcxdbqHPaNBot+yTbPuonUeoyt6w4J+4uGAXOXgDK+wE2l57UG9/aXjrywtUpea4CCW lnRDE8xPvdNaaFQXFPXNsY2SZfY47Mh5L3WE5hNrVFfHTm10asYTLvqhP0JnbMA+cL1B0cnFLtPr 6bqJm45cfWHOwMPs2n29RjBXKUkVoooUo0vnyIfFizOx5CsK+jOfXyqO9osPFldcqZZvlZmkA20m QAt2zFOuUvHSx7vwe/vMXI+p+G7Zothha57+p36PTqoXID9Bqbvntm+qyVfQzOSSKCUjxJjIx6I0 6OxU4kmJEX9xMqZOJwVN17aNZ48ug0iDF9dO6EUVtvA18g81tqYGYoFibDfxevE6a7IFfSNVvWRL xRYt6nKOYI9IZdBdmV6omTyXvX/FIdyztafNuWeEBCTQWcpdjFHZlYHH6f/CdfgR//ObdzkzpcND axuxKInfPT5j9oCaL+blyhzxKyKFPocouLAEQS9nHnrwADHDHU6MorH1mpN7f4Dbc08CAenPxzZd ZQBlWYvMJSWztD8fxszKsmR2uXg2ETA1/pcq4Oblxt/CA6r2sgQpTqh9qYYtBufps+vPBcDzugrw iAV9zV2Vf1X6iiPjnlzIBZLdI2kzYBsbKGg439ehbrpBIFCRMJfxSj4AXVmFdMv79f28lRqAKilj K1p8Hy8176esvjDxTs5fUoys6AH4eqspEm1SS1V8DyqomPWE2NqsA8sZ46Un8u+/1qoCZdg5ubhP cLr/wrAoDOr5dgYpDspLrHsjHyub0Zj9lyM7/xtVLoKQGsdapL1aCNcDC8vZ6Xo5KuwyYa0+Ueig == From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 13/20] net/ice: fix memory leaks in error handlings Date: Wed, 23 Feb 2022 02:18:11 +0800 X-OQ-MSGID: <27cce613aeff899ff9b9df646a185faf901f9073.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The function release 'pkt_buf' and 'msk_buf' when successful. In some error handlings, 'pkt_buf' and 'msk_buf' were not freed leads to memory leaks. To fix it without introducing code redundancy, add and make use of an 'error' lable to do the clean ups for 'pkt_buf' and 'msk_buf'. Fixes: 1b9c68120a1c50 ("net/ice: enable protocol agnostic flow offloading in RSS") Signed-off-by: Weiguo Li --- drivers/net/ice/ice_hash.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c index afbb357fa3..aed256d57c 100644 --- a/drivers/net/ice/ice_hash.c +++ b/drivers/net/ice/ice_hash.c @@ -658,7 +658,7 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad, uint8_t spec_len, pkt_len; uint8_t tmp_val = 0; uint8_t tmp_c = 0; - int i, j; + int i, j, ret = 0; raw_spec = item->spec; raw_mask = item->mask; @@ -675,9 +675,10 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad, return -ENOMEM; msk_buf = rte_zmalloc(NULL, pkt_len, 0); - if (!msk_buf) - return -ENOMEM; - + if (!msk_buf) { + ret = -ENOMEM; + goto exit; + } /* convert string to int array */ for (i = 0, j = 0; i < spec_len; i += 2, j++) { tmp_c = raw_spec->pattern[i]; @@ -713,21 +714,28 @@ ice_hash_parse_raw_pattern(struct ice_adapter *ad, msk_buf[j] = tmp_val * 16 + tmp_c - '0'; } - if (ice_parser_create(&ad->hw, &psr)) - return -rte_errno; - if (ice_parser_run(psr, pkt_buf, pkt_len, &rslt)) - return -rte_errno; + if (ice_parser_create(&ad->hw, &psr)) { + ret = -rte_errno; + goto exit; + } + if (ice_parser_run(psr, pkt_buf, pkt_len, &rslt)) { + ret = -rte_errno; + goto exit; + } ice_parser_destroy(psr); if (ice_parser_profile_init(&rslt, pkt_buf, msk_buf, - pkt_len, ICE_BLK_RSS, true, &prof)) - return -rte_errno; + pkt_len, ICE_BLK_RSS, true, &prof)) { + ret = -rte_errno; + goto exit; + } rte_memcpy(&meta->raw.prof, &prof, sizeof(prof)); +exit: rte_free(pkt_buf); rte_free(msk_buf); - return 0; + return ret; } static void From patchwork Tue Feb 22 18:18:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108044 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 251BEA034E; Tue, 22 Feb 2022 19:20:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4214D41156; Tue, 22 Feb 2022 19:19:23 +0100 (CET) Received: from out203-205-251-66.mail.qq.com (out203-205-251-66.mail.qq.com [203.205.251.66]) by mails.dpdk.org (Postfix) with ESMTP id E006841203 for ; Tue, 22 Feb 2022 19:19:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553958; bh=HkUB0yLfOf9e2Ucfp75NNAQidwzPKAZ8bozh3ctalUw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=gFqyc37lbXxXwPNsV6BMdWmx2XfwFx4VV74jDMsxBahnRcDY8HVyR1ifOfIbU88mY US00ZymkBdTNSOqFGXX9LeBPFkHLewQ1ayPkTJShF1usILNSWl46rydVLlXN/BvZJE UE5QZDsqdiYg/eUzm0ovS/d9MUjurhMfTkw46BHI= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553954toprs0xa0 Message-ID: X-QQ-XMAILINFO: MMnP0fEUKo/hTdFkx4DHOYP2uHvg+Gxa9vjk6syS2kkgR8kF3ppPl4wklm92pD 2jzpAzVWJgBZP9omb+ezcFyKAF6mCYrl+w70IGciTGBL9gGjd41chDDOo1/cwbX7CgYU59Ln7WFC ucljHJqMeDBxzWlBOjXFSvIFF3j9CPLtKM8pPrqU7pAbrtYshpmE3D8rqGa3K4SJqWANqZj0RE4b 9GszD9FsZU4nkjNELxIgGF5JLMv+D/Na5ubqJOqBPPbXtAAhIgZVIcS9u8ABXn5D53Pw3s0CsMMr skpACiRPFSD8QmS+KHL4tQXv0uqlDCwqPc7sg1DK4vrm3uipzx1sFq6Zl45QtL4aK5xdCvsJGEvk V3hQ22xay7bZa6XRI/r7CpFUzkzQIqpyR3icAB31w4z7YuhqOrgtC/rH/7EtySmtpusEM1KIiC8z sePbY1YuPCJp3UCk9JKw4YXAVNrbLtiDUtPCjjp2D9u6umEZ//BRkfpvPIZ92LtyGpX/s8gTgzPh gPklifScI7BUt2cII+Ee7oZm9IgCqFT/srY3X1fYBvUnh9tFLrsUPc9jwm2bhsYxTd11lrXi5ek/ 7pWOxGjqsLFymfQ+PzAXvUeXHBJTspe5y3cuCT/xetsGChG4ZB9jGZdIC+ldbOQI3+VjYQoYWskt qo+r455tKfYS3UIr0nOTsrRSQXQvemlFvEmbolS9oIJPj6rHsk/enbL3vl5V0v5+2IBeLKDoDuBn PbXHp/9omCAP9z6b5IpzM9BA3Ao/YaL0jieN7lxl7qapQqpR0IESzhMxjZXv36ZFXGlKIcHrjC06 6UjRVPRRHU04kyV5TaFrTkSDVYIrextA6v5Q5IEqYBglplY1ghnuRt1FgkEV0bZsrmlrt+e2D5uD WQIqkVH7z5OnkEanyOeaFMWQQ+Q2vvyg== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 14/20] net/ice: avoid fix memory leaks in register parser Date: Wed, 23 Feb 2022 02:18:12 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1) When 'ice_get_parser_list()' fails and return, 'parser_node' is not released, we can move the parser list action ahead of the memory allocation to avoid this memory leak. 2) In another error handling branch, we release 'parser_node' directly to avoid the memory leak. Fixes: 7615a6895009cb ("net/ice: rework for generic flow enabling") Signed-off-by: Weiguo Li --- drivers/net/ice/ice_generic_flow.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c index 53b1c0b69a..e3df090186 100644 --- a/drivers/net/ice/ice_generic_flow.c +++ b/drivers/net/ice/ice_generic_flow.c @@ -1920,6 +1920,10 @@ ice_register_parser(struct ice_flow_parser *parser, struct ice_flow_parser_node *existing_node; void *temp; + list = ice_get_parser_list(parser, ad); + if (list == NULL) + return -EINVAL; + parser_node = rte_zmalloc("ice_parser", sizeof(*parser_node), 0); if (parser_node == NULL) { PMD_DRV_LOG(ERR, "Failed to allocate memory."); @@ -1927,10 +1931,6 @@ ice_register_parser(struct ice_flow_parser *parser, } parser_node->parser = parser; - list = ice_get_parser_list(parser, ad); - if (list == NULL) - return -EINVAL; - if (ad->devargs.pipe_mode_support) { TAILQ_INSERT_TAIL(list, parser_node, node); } else { @@ -1961,6 +1961,7 @@ ice_register_parser(struct ice_flow_parser *parser, } else if (parser->engine->type == ICE_FLOW_ENGINE_ACL) { TAILQ_INSERT_HEAD(list, parser_node, node); } else { + rte_free(parser_node); return -EINVAL; } } From patchwork Tue Feb 22 18:18:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108045 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7C8E6A034E; Tue, 22 Feb 2022 19:20:08 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19D044115F; Tue, 22 Feb 2022 19:19:26 +0100 (CET) Received: from out203-205-221-236.mail.qq.com (out203-205-221-236.mail.qq.com [203.205.221.236]) by mails.dpdk.org (Postfix) with ESMTP id AB5314120A for ; Tue, 22 Feb 2022 19:19:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553961; bh=NFCZfcozpxnV9v1aVmL+ENEiEi9KciNkzT9FpOeGO1c=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=kkW/Lk98YvO7hnr55sFCE9Ck1S+kAY1BSKXCmWF+XzN5DudpKHXhb5zcSnE1igdKp Ot7niSKxx9z9k8gwCsV68auKyun0H2wLl5PKIGeKCFysrm6Rvx/hyzt0GrVwMncWlY pN0vu6hXE+n67YAg45UCxf4ES+Ap1vOtnLRwXMRw= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553957tb22hr35w Message-ID: X-QQ-XMAILINFO: Nkm5Fff6p/24238ChlWPL2oDwXO0XOGjW0u0GnhqP0TMBvLgbjS1Vu2K0HkxlK ieSBeGUO/FoTfxp9ZmmgdhGV+4qtQjWmFArvWaCOayk0+BREIbxOrvIdfpt65b83USBAfrmzEKhG 0fYV4O198EoOwxisww4/eNwluD8ImyYkvYhMPHXqMr/EmJ9aj3KTWhPfl/p8cUMMYFwVf5kJIaKJ ER4RawpSkZo1hlXO0G2OtWdkXEkT6Y7JITw1a4pTnPU191woNJXc78Lst5Kj09/WkiIgF5TcOW4n tPfDx83KGknUYcTaS8xHeqjgmcohZS1jxV3JtzgC/Cb2A05BXDKVsdd9SLdeqreHgA8kGHeG/v9I lDgSsNnTPgVLQr5He8ijTQj8R7eLMw4uTqFIABOOD+BBeXfgVN0JnMbk6R39tLDHzRfgTeIZ1py8 /rQh4e0CS2HgXTd1/nQ0I1ykmQBZyi21EDEi2zTJSJgubpyJhDn4xWYrLEIwcHMFH6WXFnOiy90G ib4H2wsxfBGeisrV3AsqZffx8PIvM/Dl3zH8AmYNBP1D9oETi6ZUd0YR8W4E604xzzOUM/0PQ93E o+ytHOs++dEO91b4jXZh74TYdNPJo8GX1jB9JhUbx4e6ce8jN0dyRMFD3ZE7Ou7DWB8pwKsUTzqY W2SD4QG7ni+JRfSQdFSXyga/uwDH8ZmnEkwyU7cnEUTdcyVEPsPU04t9tVFVBqsBkV3cRcL0+J/Z 0zOvZBkFT6XFYGdypwsGeGdar408orss2k0OKyyKLzZJLvqA2KWh05drCOjoRbZcAxvIvO+Zm6R+ NNqQLWfwZVH/GYCPD2j1M+0vL4iY0Fs+5QJlubBfo19JN+OVqSS9eoLo9dz/fUt9ojUmHkNOZRKM OHx4ZGG2TAOSnsv8ei5r6VyEQ9/2VtPg== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 15/20] net/memif: fix some memory leaks in error handlings Date: Wed, 23 Feb 2022 02:18:13 +0800 X-OQ-MSGID: <49e2a75f244b377045bf86e6dc4784507c3c273c.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1) When the validate to 'reply->num_fds' fails, memif_region 'r' is not released, we can move the validation ahead of the memory allocation to avoid this memory leak. 2) In some error handlings, functions were returned without releasing the memory. Fix them altogether in this patch. Fixes: c41a04958b09 ("net/memif: support multi-process") Fixes: 43b815d88188 ("net/memif: support zero-copy slave") Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle") Signed-off-by: Weiguo Li --- drivers/net/memif/rte_eth_memif.c | 32 +++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index 587ad45576..ddbdeb6241 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -158,6 +158,11 @@ memif_mp_request_regions(struct rte_eth_dev *dev) reply_param = (struct mp_region_msg *)reply->param; if (reply_param->size > 0) { + if (reply->num_fds < 1) { + MIF_LOG(ERR, "Missing file descriptor."); + free(reply); + return -1; + } r = rte_zmalloc("region", sizeof(struct memif_region), 0); if (r == NULL) { MIF_LOG(ERR, "Failed to alloc memif region."); @@ -165,11 +170,6 @@ memif_mp_request_regions(struct rte_eth_dev *dev) return -ENOMEM; } r->region_size = reply_param->size; - if (reply->num_fds < 1) { - MIF_LOG(ERR, "Missing file descriptor."); - free(reply); - return -1; - } r->fd = reply->fds[0]; r->addr = NULL; @@ -913,8 +913,10 @@ memif_region_init_zc(const struct rte_memseg_list *msl, const struct rte_memseg r->addr = msl->base_va; r->region_size = ms->len; r->fd = rte_memseg_get_fd(ms); - if (r->fd < 0) + if (r->fd < 0) { + rte_free(r); return -1; + } r->pkt_buffer_offset = 0; proc_private->regions[proc_private->regions_num - 1] = r; @@ -1328,6 +1330,7 @@ memif_tx_queue_setup(struct rte_eth_dev *dev, mq->intr_handle = rte_intr_instance_alloc(RTE_INTR_INSTANCE_F_SHARED); if (mq->intr_handle == NULL) { MIF_LOG(ERR, "Failed to allocate intr handle"); + rte_free(mq); return -ENOMEM; } @@ -1336,11 +1339,15 @@ memif_tx_queue_setup(struct rte_eth_dev *dev, mq->n_pkts = 0; mq->n_bytes = 0; - if (rte_intr_fd_set(mq->intr_handle, -1)) + if (rte_intr_fd_set(mq->intr_handle, -1)) { + rte_free(mq); return -rte_errno; + } - if (rte_intr_type_set(mq->intr_handle, RTE_INTR_HANDLE_EXT)) + if (rte_intr_type_set(mq->intr_handle, RTE_INTR_HANDLE_EXT)) { + rte_free(mq); return -rte_errno; + } mq->in_port = dev->data->port_id; dev->data->tx_queues[qid] = mq; @@ -1369,6 +1376,7 @@ memif_rx_queue_setup(struct rte_eth_dev *dev, mq->intr_handle = rte_intr_instance_alloc(RTE_INTR_INSTANCE_F_SHARED); if (mq->intr_handle == NULL) { MIF_LOG(ERR, "Failed to allocate intr handle"); + rte_free(mq); return -ENOMEM; } @@ -1376,11 +1384,15 @@ memif_rx_queue_setup(struct rte_eth_dev *dev, mq->n_pkts = 0; mq->n_bytes = 0; - if (rte_intr_fd_set(mq->intr_handle, -1)) + if (rte_intr_fd_set(mq->intr_handle, -1)) { + rte_free(mq); return -rte_errno; + } - if (rte_intr_type_set(mq->intr_handle, RTE_INTR_HANDLE_EXT)) + if (rte_intr_type_set(mq->intr_handle, RTE_INTR_HANDLE_EXT)) { + rte_free(mq); return -rte_errno; + } mq->mempool = mb_pool; mq->in_port = dev->data->port_id; From patchwork Tue Feb 22 18:18:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108047 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CCAE8A034E; Tue, 22 Feb 2022 19:20:22 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2929941C27; Tue, 22 Feb 2022 19:19:35 +0100 (CET) Received: from out203-205-221-233.mail.qq.com (out203-205-221-233.mail.qq.com [203.205.221.233]) by mails.dpdk.org (Postfix) with ESMTP id E57BF40DF6 for ; Tue, 22 Feb 2022 19:19:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553965; bh=Fct4t/z/07DfWsYeJvTHuJ9oWM8lG9O3VECwOFSzB5o=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=W/Ayvq7J3Su76vAOAbvHFkBSX2HKDLhVsPZQt8FBCOBb4mfKizdkmuqjgWCL2aJNP 7wqhUQ+UvfWTKfDAaWQZLTcEEa8uC1mXeu5CuQv8Nhutyiix9hbb2ZfQuOuQlEijc2 c/drbV9BaFyBQ+oPcPOdOL/P1X/ob09mXKj1422Y= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553961t7df7kpia Message-ID: X-QQ-XMAILINFO: M1xqn9pGP6LNPjui4LppxAp/CE39U3eilBtkieK4+w4YlAwrUTEEhuTy8dJ/zG D+UbSD9othT0r+SafeUGmipvCi5KX9uh2hZW8rda57V8G+j6+7wsUq6H0M8Twq/dC9LLYi3H41Sb 8URGJyvqekj14tCZZtsoImsZ/77lj2X9LSNxwjDtOqlfFPBDZW46kjS5R6PUFXmtXrJaSFsmvJXx QYp4zKV8SmFcN0WvpQ8ovdWdpX6y+09Y9im1QT2KB8Qk4x+fqFrPGTqNZPUYfh/blXQ7ue2JhwyM MjG41++pNn+5hWN5ICvtupSqvuUstxCRj/7cWBMg2SaNJy+LJjqf8NmZ8Tp55gk4AEQQfcOw388Q U8M8DsdVid9UtfaITPBUUG/VwiH8LOwH82F7nsfU6Gw0H5yRPfbzOdtXBFpjWy2vAV3ii42QA7Xr mxoRMNS6kVrPQOrwfWdUnBXyyxwYsbsKPEE6qAN8oIycqXIATf2VIQXqvykDtVZMOA9smw46j9tO vIexFgvq8Ca3o9bDgI6OKjTFso+yn1JRyWHjttOx8sv3cVbIKWGILSWU+9p+eHx3bzJVo7geo0vX TCAqnKY5s1AmZFATRlOcZk2qHkRnyVAvTQQ9N/EZT7iEsdr9cf0n9fnEqRRmcYCUZmNHixqKGwLf BSFouny2pxAEJ/3gtoqS0OYb9beWgiDJgJJXlfXoGGhZmmvbPRdxkRKi2xonLPHw5ppGiy+no0Rk 8ljA02QKbZ/247u0aOggn+xlHY4eudwpwLVS9ae2HU2KdOvfxU36+eUXvEvRahtBLuf2yYJtSEY4 auMNAHjbeJhl/ZJyO4hXfJSA4nWZ7nHLwSyopyQRewMKlDKJ0a+m9dmITDLyWZhBxoDQXNLoY+PE y6UXKyk6R9nmyJCn3D8qo= From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 16/20] net/sfc: fix a memory leak in error handling Date: Wed, 23 Feb 2022 02:18:14 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When efx_nic_get_board_info() failed then function return, the memory in 'id' is not released, this leads to a memory leak. Fixes: e86b48aa46d4 ("net/sfc: add HW switch ID helpers") Signed-off-by: Weiguo Li Reviewed-by: Andrew Rybchenko --- drivers/net/sfc/sfc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c index 51726d229b..ad1683a512 100644 --- a/drivers/net/sfc/sfc.c +++ b/drivers/net/sfc/sfc.c @@ -1423,8 +1423,10 @@ sfc_hw_switch_id_init(struct sfc_adapter *sa, return ENOMEM; rc = efx_nic_get_board_info(sa->nic, &board_info); - if (rc != 0) + if (rc != 0) { + rte_free(id); return rc; + } memcpy(id->board_sn, board_info.enbi_serial, sizeof(id->board_sn)); From patchwork Tue Feb 22 18:18:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108046 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8F2EFA034E; Tue, 22 Feb 2022 19:20:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C5944115D; Tue, 22 Feb 2022 19:19:33 +0100 (CET) Received: from out203-205-251-82.mail.qq.com (out203-205-251-82.mail.qq.com [203.205.251.82]) by mails.dpdk.org (Postfix) with ESMTP id 9ED2440DF6 for ; Tue, 22 Feb 2022 19:19:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553969; bh=0qtYDZdlDpQ65AzxXs+i5eMnOuK10KPt+MmkVZWNsaA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jWAZsYjz+enPdrkPluYZwiVEgakDLE0DoUHNms+ieavX3nM64DQIVjgyiudRX1G/Z UIR5z9RqDaUCeMoHwdY2inLodFuTBaLdzZUYcedQI5QzTQvMBcxgV5SCkmZAoFRx3+ qRC3ZTSko8dGsEDxHMyw8HlVJKldsPhnQ4W7hkXM= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553964t1ce6m321 Message-ID: X-QQ-XMAILINFO: N6qfSVgljG6X2orpMhL4RfcnoBdDN6O43Ci1k5Om3itXxrlZLaCew56rCm6F0n 42rn2+Tw0aV8jFcy5eJwzb6Bb4T+WccIcxiCbj6zIOSnUN/nYAZbFZTlEp7C9CUHUCfK+OANKwFD IUfdo3ywnqIZW6GMNDUhmLXly1aaaGOOp1Vawkks0edSEUZfaFoDaC3MyKkdDmoTIlScF2FvNDQx 8Q2pjERrzwtNGFA8uUAMMgXtB1U3KD6XVfaTfjkR8fNartIxr2BmQrXIi9sJLISVuHVJTibIwjdO iWe8NRAcLA38VdKuQvG/ORmy+2cyiNHoTpcund8CvhtIibf/jC00N62ikAPBm4uc7GZmzF+snd9i KeSpkdk+xX9IR/B+OTOp2/rv+pdSG6hY4fyAiqiOP8bVfWBKuWdW8OOkg/3M0bLidZxjyzuDMSLu boT9ak3tZ/O9MmazDRWZuL+v4IUvzfByWp6eNwbxET0nfBvoeos0OLdz29vp1T/6tNVH2s/Pzppv l/Hu1PEFnQMXZmdWtPmaoOX7Y4ezX/ywKmtKuy6qw7E0YilvK5dRr9F4T1ECSkq+7ci1IHW0JwkB vXBZ4FTBglOPZN0USvAtVPmkwbaVpJrz0FHjtmhQmPtG6l3pYH2oqD3HXjJR1MOtugY4cEGRjUHM A9YQIaR+ZSlE6HsN0A/sAQs7+E4Bhd+epYtB06gknxq1qlnHCSaGQCnOUKLsmE9ZS6bcTlGOKv08 qJbWS2mE9PbOyAL/BVp1t+/oZAn1YaOwc0zXLrdTIphuMsU81Ci4RouvAenNlC4Y5osMeoqVoGGf YYP2t6AQ6pbho5PMWYmptM0B0mbrr7h0H5rIYBGcUYjdTFFX8OYfLmFiaFhgjh5+a3RnGv+yIt++ K9LHQYW8G0OSk8YiVoIQ2fzWjoLrMwlQ== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 17/20] net/vmxnet3: fix memory leaks in error handlings Date: Wed, 23 Feb 2022 02:18:15 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1) in function vmxnet3_dev_tx_queue_setup(): The momory of 'txq' is stored to 'dev->data->tx_queues[queue_idx]' at the end of the function. When function returned early in the error handling, 'txq' is not released which leads to a memory leak. 2) in function vmxnet3_dev_rx_queue_setup(): Same reason to case 1) with memory 'rxq'. Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation") Signed-off-by: Weiguo Li --- drivers/net/vmxnet3/vmxnet3_rxtx.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index d745064bc4..3d1c6080e8 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -1057,10 +1057,12 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, /* Tx vmxnet ring length should be between 512-4096 */ if (nb_desc < VMXNET3_DEF_TX_RING_SIZE) { + rte_free(txq); PMD_INIT_LOG(ERR, "VMXNET3 Tx Ring Size Min: %u", VMXNET3_DEF_TX_RING_SIZE); return -EINVAL; } else if (nb_desc > VMXNET3_TX_RING_MAX_SIZE) { + rte_free(txq); PMD_INIT_LOG(ERR, "VMXNET3 Tx Ring Size Max: %u", VMXNET3_TX_RING_MAX_SIZE); return -EINVAL; @@ -1084,6 +1086,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, mz = rte_eth_dma_zone_reserve(dev, "txdesc", queue_idx, size, VMXNET3_RING_BA_ALIGN, socket_id); if (mz == NULL) { + rte_free(txq); PMD_INIT_LOG(ERR, "ERROR: Creating queue descriptors zone"); return -ENOMEM; } @@ -1108,6 +1111,7 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, ring->buf_info = rte_zmalloc("tx_ring_buf_info", ring->size * sizeof(vmxnet3_buf_info_t), RTE_CACHE_LINE_SIZE); if (ring->buf_info == NULL) { + rte_free(txq); PMD_INIT_LOG(ERR, "ERROR: Creating tx_buf_info structure"); return -ENOMEM; } @@ -1163,9 +1167,11 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, /* Rx vmxnet rings length should be between 256-4096 */ if (nb_desc < VMXNET3_DEF_RX_RING_SIZE) { + rte_free(rxq); PMD_INIT_LOG(ERR, "VMXNET3 Rx Ring Size Min: 256"); return -EINVAL; } else if (nb_desc > VMXNET3_RX_RING_MAX_SIZE) { + rte_free(rxq); PMD_INIT_LOG(ERR, "VMXNET3 Rx Ring Size Max: 4096"); return -EINVAL; } else { @@ -1195,6 +1201,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, mz = rte_eth_dma_zone_reserve(dev, "rxdesc", queue_idx, size, VMXNET3_RING_BA_ALIGN, socket_id); if (mz == NULL) { + rte_free(rxq); PMD_INIT_LOG(ERR, "ERROR: Creating queue descriptors zone"); return -ENOMEM; } @@ -1233,6 +1240,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, ring->size * sizeof(vmxnet3_buf_info_t), RTE_CACHE_LINE_SIZE); if (ring->buf_info == NULL) { + rte_free(rxq); PMD_INIT_LOG(ERR, "ERROR: Creating rx_buf_info structure"); return -ENOMEM; } From patchwork Tue Feb 22 18:18:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108048 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 614C9A034E; Tue, 22 Feb 2022 19:20:29 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0AECC4115C; Tue, 22 Feb 2022 19:19:37 +0100 (CET) Received: from out203-205-251-80.mail.qq.com (out203-205-251-80.mail.qq.com [203.205.251.80]) by mails.dpdk.org (Postfix) with ESMTP id 4BA0041145 for ; Tue, 22 Feb 2022 19:19:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645553973; bh=f2ZOSh9v76jD3jQbTwD7a8KMowCv5PaSk37CMESd6Zc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Q1NGkN0Fin+3HKUFMQ4kVxwE92Iik/ehxP7v46vXJFPnzPGEAeKLC8BYvfpc2PBzs YI9Kl+GmgxjKB/TJVXHtlmmCwYpyNfOjsteeUgm8voNmkPUnQ0alSgLWrs8NP9FxAP scFtjC68OXPMPj8YFUqIrRjO/mAd/8h8H8PQAftA= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 49223207; Wed, 23 Feb 2022 02:18:18 +0800 X-QQ-mid: xmsmtpt1645553968t3b8246ur Message-ID: X-QQ-XMAILINFO: M3ziZXKDk+iOWroA3Zcnq7vFOEjvsEbSmyT1svqABeGwVXMm+EkRWeFSKxG4Yw 6ZO2kRtR2FsRvRWIlJS6clf25tBITtoyzUituIApSmEMrfsaBMJFgpSWxHnKOvUVa59K/Wa8jFyN ZEBzjYz5T2M+w4mqRuvy5GMGIeaf/6TrZFpCXnBkzz28ikxNunsLbMIBItctFjM0Ljf/l+cLA0MT 9qm3CnDnei2t/flqah7Pwtir4eS2tpKHfaxSuKYBoszXjZiELAISbeFhrZ4BjpT1vqCmrBJYBBo6 dguzCeHr85nWDPMEVBDyyhFYDYHqhBwq3GirTt5ZK9Sbm0l6BUm4JExvR1QVzJO/Nxj5+Wh/u1Tc AkmIC14w9dd2OF7OUPJie34vQd5sZcyj2NSMoaeVnq+vCNMxbvh5TM+EFmbluzcvp7SHVGbEOYmf EMI1tgHfdZ8x5NVBCDn9YRPvsES5gWR57bmdkOEOUTAuGVGnaqodIW7ikYl9ERmUlk2/rA6Re6yR Ucvb17chQ/et/W2YNAaI11g/OyjMFp2Sfhrg3I9KBBmXJwPQNnAswcIRFgi2pb8PmHNgUYCdPs2e 4Ujf/DtiJDm4q7VsvnNfQryG8kPnG/KEo2ZsEownXgPjpojzJZYe9WME2x4Rqw32yZiasEbwy9uh Y23O2FBWWxeuZoQeE99o5vd0QSjPDmZo10eMjys6sb2MneQL4xPr8Zq2wF7TTmIkg63tYixiiZ9/ zxHJ21zGXj7BdFweM1TumLAVWb7pgLsq5RedFKU3RO/dlxqlpSePaGYqNwWJXPL7utzW3uwE0Nc3 UhTt1sKkIfEDWAdqJnA3GiOqwrvluInkGPr9+kvgfr4WsSaQsZJfr0TVGmzqih0umB8nPsJYnh4W x8HHRyNUwZfCyqoHDnJjGlnjnUOrsxTw== From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 18/20] raw/ifpga/base: fix memory leaks in error handlings Date: Wed, 23 Feb 2022 02:18:16 +0800 X-OQ-MSGID: <770f3c34fdb4a473d509a1f45668af068227f5fa.1645551559.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1) in ifpga_enumerate.c: The memory 'feature' is stored by TAILQ_INSERT_TAIL() at the end of the function. When function returned early in error handling, 'feature' is not released and leads to a memory leak. 2) in opae_eth_group.c and opae_i2c.c These function return 'dev' when success and return NULL when validation failed or some error occur. In the latter case 'dev' is not released and leads to a memory leak. Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code") Fixes: 12f92a513a13 ("raw/ifpga/base: fix retimer link status") Fixes: 15d21c851028 ("raw/ifpga/base: add I2C and at24 EEPROM driver") Signed-off-by: Weiguo Li --- drivers/raw/ifpga/base/ifpga_enumerate.c | 10 ++++++++-- drivers/raw/ifpga/base/opae_eth_group.c | 1 + drivers/raw/ifpga/base/opae_i2c.c | 5 ++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/raw/ifpga/base/ifpga_enumerate.c b/drivers/raw/ifpga/base/ifpga_enumerate.c index 48b8af4587..ae7bc9326d 100644 --- a/drivers/raw/ifpga/base/ifpga_enumerate.c +++ b/drivers/raw/ifpga/base/ifpga_enumerate.c @@ -100,12 +100,16 @@ build_info_add_sub_feature(struct build_feature_devs_info *binfo, (unsigned long long)feature->phys_addr, size); if (vec_cnt) { - if (vec_start + vec_cnt <= vec_start) + if (vec_start + vec_cnt <= vec_start) { + opae_free(feature); return -EINVAL; + } ctx = zmalloc(sizeof(*ctx) * vec_cnt); - if (!ctx) + if (!ctx) { + opae_free(feature); return -ENOMEM; + } for (i = 0; i < vec_cnt; i++) { ctx[i].eventfd = -1; @@ -130,6 +134,8 @@ build_info_add_sub_feature(struct build_feature_devs_info *binfo, TAILQ_INSERT_TAIL(&hw->port[port_id].feature_list, feature, next); } else { + opae_free(feature->ctx); + opae_free(feature); return -EFAULT; } return ret; diff --git a/drivers/raw/ifpga/base/opae_eth_group.c b/drivers/raw/ifpga/base/opae_eth_group.c index be28954e05..cd9b2443c7 100644 --- a/drivers/raw/ifpga/base/opae_eth_group.c +++ b/drivers/raw/ifpga/base/opae_eth_group.c @@ -297,6 +297,7 @@ struct eth_group_device *eth_group_probe(void *base) if (eth_group_hw_init(dev)) { dev_err(dev, "eth group hw init fail\n"); + opae_free(dev); return NULL; } diff --git a/drivers/raw/ifpga/base/opae_i2c.c b/drivers/raw/ifpga/base/opae_i2c.c index 598eab5742..0a9abff14d 100644 --- a/drivers/raw/ifpga/base/opae_i2c.c +++ b/drivers/raw/ifpga/base/opae_i2c.c @@ -479,6 +479,7 @@ struct altera_i2c_dev *altera_i2c_probe(void *base) if (dev->i2c_param.devid != 0xEE011) { dev_err(dev, "find a invalid i2c master\n"); + opae_free(dev); return NULL; } @@ -494,8 +495,10 @@ struct altera_i2c_dev *altera_i2c_probe(void *base) dev->i2c_clk = dev->i2c_param.ref_clk * 1000000; dev->xfer = altera_i2c_xfer; - if (pthread_mutex_init(&dev->lock, NULL)) + if (pthread_mutex_init(&dev->lock, NULL)) { + opae_free(dev); return NULL; + } dev->mutex = &dev->lock; altera_i2c_hardware_init(dev); From patchwork Tue Feb 22 18:28:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108049 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 65C46A034E; Tue, 22 Feb 2022 19:28:58 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E551B40E64; Tue, 22 Feb 2022 19:28:57 +0100 (CET) Received: from out203-205-221-191.mail.qq.com (out203-205-221-191.mail.qq.com [203.205.221.191]) by mails.dpdk.org (Postfix) with ESMTP id 6EFFB40DF4 for ; Tue, 22 Feb 2022 19:28:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645554532; bh=CPRhVBlymra7WqFS6/cR0CwzotTIj2OQy8AFrksQdlk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=kmYrt2NBZUJ8sil3zFHjzfnM3Gz6HsV3X2lbXZodSIML2h+fUd0PYOR/4uiSkbcUe eAS0Gb4SrPY/mExOMX9yw/2qBILWv8YWX6fR/H3uC1lnYrZaR/LFiTqKpj3awJeNhf ZbaDrEnSZ8lqBS9p8UZCPA6IAjVv8b2ynTZ/wvQc= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszb6.qq.com (NewEsmtp) with SMTP id 72532A7A; Wed, 23 Feb 2022 02:28:37 +0800 X-QQ-mid: xmsmtpt1645554517tzrcw8vah Message-ID: X-QQ-XMAILINFO: Obaoxo7U3b2J174+EBmSh1lS6iXqal+9Enhw98t7r1HTt9RkxAK/6YQp7jnOZI yrc/FRLa9UvMQi6PMf22PfM7XeMPuthRh0VUvizy5oAAOYRpvKwdbiwXqOpCeU15y2Y7DIAKS28e 1/gGY4gWK2KTUrX2qkRYEa78Nzqk2Wwm1kuYsrTeThqQVs274xA9Rs3ue3+gXTSnT2zPzkwC48Sy 0yo0A6LLAWtfruyuwN370ZRGHRmEiauuyyDQFo9xRmysAIKmbLPPg7Kj+iZGYzrWTTkuTXTtWsRb NE0N/TW/0LbGf1mQKViuAYCuMAIaLBQNwvUqhFAux0a+4/MF14pwbmiIzR0QpX5ofiEtbDmg3v1B f++mjDAh3Qy8jWGaBSnHE/HacikYC7oM9R84uthzTDMFLSfiYppxJEaN3+tu5L4Y2rU7jZ+wzGbG vKfS+OdaBXYFDr5fSNIE3BfHHIY/8TXWYdmV0GkDilmdIyAZB9B52FqA7+IiPN4PQGbX4hhmN3HY VwL7650AJB6t10z4gWk6fZIUU2g9zGSKa15XIBeYUfv9xPb3DyeGjot9Y+/UUGHSVbIcod5NII9D BAvpCurA6saOiwN8B9JEenVkiNNNDxQFARRq/pHrql/SfORrj52fEA9kUT4TxQ05q46FvEJRmtAF IpSYDQPOZQLTF9Q5ATbEBXNhVSi2mbqldie3FtKLTTJFE1DXkj1orBWpYGAEGm9oBnN3RS+oDeE4 FGPimYXhhtEDHC11dpwWF691GLlhNu2hnrO8uTiIJuLSkW4jzuCbW9CBy7kZdp5z8SvhZ5EcFkVZ 1nCfPyEYdVTC82oWCsu0nmC9oAUYlY+j0RxchWgsbT4EkhbYH3ZoTXxoc2N3+lnyR4zxpciicXfl WzSKiqzp8NPHO4udvJgGJHbGf88n/s7SA87Nq2Vcsg From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 19/20] raw/ntb: fix some memory leaks in error handlings Date: Wed, 23 Feb 2022 02:28:36 +0800 X-OQ-MSGID: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 1) in ntb_rxq_setup(): When 'rxq_conf->rx_mp' validation failed and return, the memory to 'rxq' is leaked. We can move the validation ahead the allocation for 'rxq' to avoid it. 2) in ntb_txq_setup(): The memory 'txq' is stored to 'hw->tx_queues[qp_id]' at the end of the function when successful. When the validation failed then function returned early, 'rxq' is not released which leads to a memory leak. Fixes: c39d1e082a4b ("raw/ntb: setup queues") Signed-off-by: Weiguo Li --- drivers/raw/ntb/ntb.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c index f5e773c53b..532c5141f0 100644 --- a/drivers/raw/ntb/ntb.c +++ b/drivers/raw/ntb/ntb.c @@ -314,6 +314,10 @@ ntb_rxq_setup(struct rte_rawdev *dev, if (conf_size != sizeof(*rxq_conf)) return -EINVAL; + if (rxq_conf->rx_mp == NULL) { + NTB_LOG(ERR, "Invalid null mempool pointer."); + return -EINVAL; + } /* Allocate the rx queue data structure */ rxq = rte_zmalloc_socket("ntb rx queue", sizeof(struct ntb_rx_queue), @@ -325,10 +329,6 @@ ntb_rxq_setup(struct rte_rawdev *dev, return -ENOMEM; } - if (rxq_conf->rx_mp == NULL) { - NTB_LOG(ERR, "Invalid null mempool pointer."); - return -EINVAL; - } rxq->nb_rx_desc = rxq_conf->nb_desc; rxq->mpool = rxq_conf->rx_mp; rxq->port_id = dev->dev_id; @@ -445,6 +445,7 @@ ntb_txq_setup(struct rte_rawdev *dev, NTB_LOG(ERR, "tx_free_thresh must be less than nb_desc - 3. " "(tx_free_thresh=%u qp_id=%u)", txq->tx_free_thresh, qp_id); + ntb_txq_release(txq); return -EINVAL; } From patchwork Tue Feb 22 18:28:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiguo Li X-Patchwork-Id: 108050 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 16E57A034E; Tue, 22 Feb 2022 19:29:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B9D194114F; Tue, 22 Feb 2022 19:28:59 +0100 (CET) Received: from out203-205-251-72.mail.qq.com (out203-205-251-72.mail.qq.com [203.205.251.72]) by mails.dpdk.org (Postfix) with ESMTP id 31B3C40DF4 for ; Tue, 22 Feb 2022 19:28:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645554535; bh=UqnFCerhqZi1y0ByHk8Co1PFP/x/mIXFKou6KhzBFdc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=LYVlSFp4znZTJWnqYA7p0YbvjOSQl373LHZXWQz464Jezyp/40ABupA9o6Zjhq2nA NXbmq5y1q0RKt4+BmNvrWIPquYe7lteQYbgb59ik6GlGMFarkNeRSni/hzz2vYqz8a jTV9R9aKVf8ciCvZwewPd4FMFX6jFBaiJIBS7h1U= Received: from localhost.localdomain ([111.193.130.237]) by newxmesmtplogicsvrszb6.qq.com (NewEsmtp) with SMTP id 72532A7A; Wed, 23 Feb 2022 02:28:37 +0800 X-QQ-mid: xmsmtpt1645554531t0lnmr4cz Message-ID: X-QQ-XMAILINFO: NqN/wpVFVRYX4MjMYaqwpjWQSQinB0mjsXnLVc0eTqkwu1VUErXaF/gWrf8OHS 123LY2xyEHCPvS5+Xi8ICx2A8fU9ySRuQBatifs2uADtmcSU0YAqRBRNbDb2WNuPAPiPr5Mz8wj/ RdN1OkKeDGKh4c430bJAOQon0cHEH1rQLPYAByWENjk3q9mTHjOIqpa7sUS5poY3Jc/B6Tv5VYJo E9Y5ZBqdFU4+FTpHPQGkDsm5x9ZtQ00MnwjMNMLx0fytPrEGWWvJojIS+ndjWYB2oJJ9jSgAgIUQ DMN2HrL6yFfR5Q0Hn0VZV3CLWkepcTc33uvarsYrQ3SCp+YJic1qajQzVBJ7+bfr2rWVYM1wKQra HrBj1ySgNfr3JHK+NatQJYdfTB7U1daP7FXs0tTHysTpbG+iFXbDIdTDr5ecObFbnkEPwg2BLzto V5pGrC6h0FIyQ2+sZelXRdQHQyNlZECvqJOMikfebgiUyNE9EyvYoTXLjPcgfcTgbiXi1/x9+VZG yq6uUFUyoDq+tbi1mmW61nz+91zXPg9MPDf9aJVCWiorciDUMK0QVeagOEYXVJZ4faPJK/NnbkPC /gJh2g3O6zQfMQpTDfhHZKaMuhrwCujUnH4d7+SVuHsTp7TMJLozYaS5FDeRKIxpDckLk/ygJDWg +IHvBMIm9yFSitwWkRZZOQumxLLKAUqQoK7oBSbF3SBIGc+jpTCOMshlKaSWBSrAobp7zlcTikOP tR7xZ+L8ZD6mQWaP5RN5+Q7LGPoQTZGhuJ/zaK+2y7klwl5pK+yhU2Jtm22Hcnpk6kLMiuP+2ag/ 9b4kHBRGcGJEehN+IhGf3xMwd7MxgXDXkVHAPgBj/rg27U3D9TiS3TXqqhtNatDccu0ZbOc0gc2R AN68OpoQTRo5YgjoPEr6H0mNXKvBOroQVuXnSERMmy From: Weiguo Li To: dev@dpdk.org Cc: adypodoman@gmail.com, xiaoyun.li@intel.com, tianfei.zhang@intel.com, bruce.richardson@intel.com, ivan.malov@oktetlabs.ru, jgrajcia@cisco.com, hkalra@marvell.com, ying.a.wang@intel.com, ting.xu@intel.com, simei.su@intel.com, qiming.yang@intel.com, motih@mellanox.com, shreyansh.jain@nxp.com, skoteshwar@marvell.com, stephen@networkplumber.org, kalesh-anakkur.purayil@broadcom.com, somnath.kotur@broadcom.com, declan.doherty@intel.com, gakhil@marvell.com, nicolas.chautru@intel.com Subject: [PATCH 20/20] regex/mlx5: fix a memory leak in error handling Date: Wed, 23 Feb 2022 02:28:37 +0800 X-OQ-MSGID: <7684ab121f773f07a534d68616d0402064c28a79.1645551560.git.liwg06@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org When rxp_create_mkey() failed the function return, 'ptr' was not freed which caused a memory leak. Fixes: 9fa82d287f65 ("regex/mlx5: move RXP to CrSpace") Signed-off-by: Weiguo Li --- drivers/regex/mlx5/mlx5_rxp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/regex/mlx5/mlx5_rxp.c b/drivers/regex/mlx5/mlx5_rxp.c index ed3af15e40..4da29a2a06 100644 --- a/drivers/regex/mlx5/mlx5_rxp.c +++ b/drivers/regex/mlx5/mlx5_rxp.c @@ -117,8 +117,10 @@ mlx5_regex_rules_db_import(struct rte_regexdev *dev, rte_memcpy(ptr, rule_db, rule_db_len); /* Register umem and create rof mkey. */ ret = rxp_create_mkey(priv, ptr, rule_db_len, /*access=*/7, &mkey); - if (ret < 0) + if (ret < 0) { + rte_free(ptr); return ret; + } for (id = 0; id < priv->nb_engines; id++) { ret = mlx5_devx_regex_rules_program(priv->cdev->ctx, id,