From patchwork Mon Feb 13 10:40:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martyna Szapar-Mudlaw X-Patchwork-Id: 1741590 X-Patchwork-Delegate: anthony.l.nguyen@intel.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org (client-ip=140.211.166.138; helo=smtp1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256 header.s=default header.b=MAy78h4L; dkim-atps=neutral Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4PFh8040cMz23hX for ; Mon, 13 Feb 2023 21:55:26 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 101CF80CE3; Mon, 13 Feb 2023 10:55:24 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 101CF80CE3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1676285724; bh=XRLkj8bJ+iU1lTVTMWufqsT60+ttw1+VHh/s2cAq6K0=; h=From:To:Date:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:Cc:From; b=MAy78h4LC4dr84nWvaBocNKQL5iFrPG29hL0ALcnQUaLunVLX+OfJv0/QejeqJp2v d4vKxxK3BmclhMFDkunkxB+yBtJ9UKHa1cmc0NY6c8FCcedhKavj6GcVvswrd+Ohpc efyVKrhJAlylRY+dgS13BniaopjYqS52mrECu+R7QPzjEvEW5w6JxeDS/YN9tFnro8 TUYNBzKip5hieg/2gkbaWJ0gn2Mbb7z8/yeJRKSpi5rf53aBGY7soQu0JT2a0hfTW/ XsWMB+iF0tN180XLttZyq0fI2EeuRWhWb1KYkubzdpIDFw8dh6Bavh7WLWbN7OpqFl tsghhbFHr3Nyg== X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ro113foVAfo8; Mon, 13 Feb 2023 10:55:23 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 2AC16813E3; Mon, 13 Feb 2023 10:55:23 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 2AC16813E3 X-Original-To: intel-wired-lan@osuosl.org Delivered-To: intel-wired-lan@osuosl.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id B5FCE1BF59D for ; Mon, 13 Feb 2023 10:55:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 8E767813E3 for ; Mon, 13 Feb 2023 10:55:21 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8E767813E3 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q9ShnK-o-uEN for ; Mon, 13 Feb 2023 10:55:21 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org BFACB80CE3 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by smtp1.osuosl.org (Postfix) with ESMTPS id BFACB80CE3 for ; Mon, 13 Feb 2023 10:55:20 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6500,9779,10619"; a="358272968" X-IronPort-AV: E=Sophos;i="5.97,293,1669104000"; d="scan'208";a="358272968" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2023 02:55:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10619"; a="842723777" X-IronPort-AV: E=Sophos;i="5.97,293,1669104000"; d="scan'208";a="842723777" Received: from enterprise.igk.intel.com ([10.102.20.175]) by orsmga005.jf.intel.com with ESMTP; 13 Feb 2023 02:55:18 -0800 From: Martyna Szapar-Mudlaw To: intel-wired-lan@osuosl.org Date: Mon, 13 Feb 2023 11:40:04 +0100 Message-Id: <20230213104003.30413-1-martyna.szapar-mudlaw@linux.intel.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676285720; x=1707821720; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=B9qe7pjTaZrrGIFjxRLpKnR4sUOpVGcsqvodmxNzzQk=; b=agMg+WiDr4a3ZeGTepxER6rtOtk3+6syt3VmSEg8aDi/DjC5k3B1mMBM vUxD2HyAfwu+x2d1bB/Phokbq6M8zg2uz0ffPDSzh7aOs++zKtN7xg3jO VwgkQL4iXnv10LPzpGY+vc8zwecKwIMkYsaI/hqnZvwUyKnD+kM6PCeWj oqh0Bf2cE0EZWq4Q8tl5ZFEGeiZoSOqrTnYpX9ZxY5AnLUBf3lGT4CBZD IzluhdSQb/eYn/lbKSgcC2VmsCICg69gxoF95nFPrOcCySDcpPHtfjkpw 0ryRZcy5I1MoYSGJeuo5PpJQdldv4DySZgypIvWLSjyuTUu/x1F38u0Gi A==; X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=agMg+WiD Subject: [Intel-wired-lan] [PATCH net] ice: Fix missing cleanup routine in the case of partial memory allocation X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Martyna Szapar-Mudlaw Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" Add missing memory free in the case of partial memory allocation in the loop in ice_realloc_zc_buf function. Fixes: 7e753eb675f0 ("ice: Fix DMA mappings leak") Signed-off-by: Martyna Szapar-Mudlaw Reviewed-by: Maciej Fijalkowski Tested-by: Chandan Kumar Rout (A Contingent Worker at Intel) --- drivers/net/ethernet/intel/ice/ice_xsk.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c b/drivers/net/ethernet/intel/ice/ice_xsk.c index 7105de6fb344..0b025a36e6f1 100644 --- a/drivers/net/ethernet/intel/ice/ice_xsk.c +++ b/drivers/net/ethernet/intel/ice/ice_xsk.c @@ -377,8 +377,16 @@ int ice_realloc_zc_buf(struct ice_vsi *vsi, bool zc) for_each_set_bit(q, vsi->af_xdp_zc_qps, max_t(int, vsi->alloc_txq, vsi->alloc_rxq)) { rx_ring = vsi->rx_rings[q]; - if (ice_realloc_rx_xdp_bufs(rx_ring, zc)) + if (ice_realloc_rx_xdp_bufs(rx_ring, zc)) { + unsigned long qid = q; + + for_each_set_bit(q, vsi->af_xdp_zc_qps, qid) { + rx_ring = vsi->rx_rings[q]; + zc ? kfree(rx_ring->xdp_buf) : + kfree(rx_ring->rx_buf); + } return -ENOMEM; + } } return 0;