From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CA5FDCA9EBC for ; Thu, 24 Oct 2019 07:55:00 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 889C52084C for ; Thu, 24 Oct 2019 07:55:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="pC24iqsR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 889C52084C Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 25E221E544; Thu, 24 Oct 2019 09:53:11 +0200 (CEST) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.232.149]) by dpdk.org (Postfix) with ESMTP id 0872D1D440 for ; Thu, 24 Oct 2019 09:52:40 +0200 (CEST) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (dhcp-10-123-153-55.dhcp.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id C66D81B729C; Thu, 24 Oct 2019 00:52:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com C66D81B729C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1571903559; bh=MYyvvGLGpSSJ8GckNxyZMNSripSMAp9HvL0r5JZiI+E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pC24iqsRWSK1wybFCN3j+XdmG+tkQM8fUQ+VP40z7SuTNaslvxKYtZb963k3XuUKA fFmp1/LbN+qjJXtcdRGBqHqxKaA1bI6/3cRjg6w0Y6d7Iy8+HXfrBIhDk8Pr5Imveu QROub8E7KyF2pqpnZ6LgxiiG9FKV9DYyq8sD6nYw= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Thu, 24 Oct 2019 13:14:31 +0530 Message-Id: <20191024074432.30705-17-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191024074432.30705-1-somnath.kotur@broadcom.com> References: <20191024074432.30705-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 16/17] net/bnxt: fix a possible memory leak X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Kalesh AP During hot fw upgrade or error recovery, driver does cleanup and reallocation of resources. But driver reallocates memory for ring group info table without freeing the allocated memory during device init. Fix this memory leak by moving the freeing of ring group info table to bnxt_free_mem() in bnxt_uninit_resources(). Fixes: 4617e2125c7f ("net/bnxt: refactor init and uninit functions") Signed-off-by: Kalesh AP Reviewed-by: Santoshkumar Karanappa Rastapur Signed-off-by: Somnath Kotur --- drivers/net/bnxt/bnxt_ethdev.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 013b968..9642796 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -183,6 +183,9 @@ static void bnxt_free_mem(struct bnxt *bp, bool reconfig) } bnxt_free_async_cp_ring(bp); bnxt_free_rxtx_nq_ring(bp); + + rte_free(bp->grp_info); + bp->grp_info = NULL; } static int bnxt_alloc_mem(struct bnxt *bp, bool reconfig) @@ -4821,11 +4824,6 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev) rc = bnxt_uninit_resources(bp, false); - if (bp->grp_info != NULL) { - rte_free(bp->grp_info); - bp->grp_info = NULL; - } - if (bp->tx_mem_zone) { rte_memzone_free((const struct rte_memzone *)bp->tx_mem_zone); bp->tx_mem_zone = NULL; -- 2.10.1.613.g2cc2e70