From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1FC141DDC28 for ; Mon, 16 Jun 2025 19:55:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750103730; cv=none; b=fKYl2iMkHasbrAl9r7SX4dD/mnTAGBTPugK1B5sVrrPj2o/KJPYFHLuN4F0DJLArS8TCI5hvDjOYKFr41tXyy8+lVq26Td+exemEQk0JDB/Q/+bfiniQfNF1QfkLCfaKvG4l6XteFkBbKf80za0XHJh5VOFCnj48J8JbvZ175GQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750103730; c=relaxed/simple; bh=+Wg+woV9xGAfvb417/hijkpcw5BPjg7y+cazlNkarmE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eUsMEhrEC4gC5EJf6tBDLXTIBov8rx3+Sz8yHDPn+IAYoyIzRp+72P7GuXC2vcm4FJEViLyTJna7Pjd8+JmncwcCfA4g+Wc+foy0rtq0GrhM6RShfump715hW49YMdzVjrKmg9lZD7VFzuXpXTC3p1sLysnsgUi24GNHfu6d2uA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=frT9NA0L; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="frT9NA0L" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55368C4CEEA; Mon, 16 Jun 2025 19:55:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750103729; bh=+Wg+woV9xGAfvb417/hijkpcw5BPjg7y+cazlNkarmE=; h=From:To:Cc:Subject:Date:From; b=frT9NA0LRjK6Eaor39Gy2nxrc4T+7xUiZP0+JvL2hcq8Kd8hkSpG+jOBiPyQtpyh5 A0UFOTNxJ1TR1aGp8qQ/54Pj9xbpbwk2iZ7/sebtNhP1sloHgIS4YuroDaEPp3Agr1 OVJj4Mbd/2gGVBRcpPrPfcEOZ36WolPFnFPF8mX3VIi7Leo7drgtjsQ2jUDt1W9ZZs 1fQC5xIt3kMixPCWg3ymlQmYsLfFJczGc4ikdDWtev53elzkIy0q861DLhAiqk0Mtf nk4j9dEN53cHqDhFJPUH2VVLdcSHiPWaMn2sFU0Y79j59in5bMXPCT/4h90diiUTO6 hTHAbFrnT349g== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, andrew+netdev@lunn.ch, horms@kernel.org, lee@trager.us, jacob.e.keller@intel.com, Jakub Kicinski , Alexander Duyck Subject: [PATCH net] eth: fbnic: avoid double free when failing to DMA-map FW msg Date: Mon, 16 Jun 2025 12:55:10 -0700 Message-ID: <20250616195510.225819-1-kuba@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The semantics are that caller of fbnic_mbx_map_msg() retains the ownership of the message on error. All existing callers dutifully free the page. Fixes: da3cde08209e ("eth: fbnic: Add FW communication mechanism") Reviewed-by: Alexander Duyck Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/meta/fbnic/fbnic_fw.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_fw.c b/drivers/net/ethernet/meta/fbnic/fbnic_fw.c index edd4adad954a..72c688b17c5b 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_fw.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_fw.c @@ -127,11 +127,8 @@ static int fbnic_mbx_map_msg(struct fbnic_dev *fbd, int mbx_idx, return -EBUSY; addr = dma_map_single(fbd->dev, msg, PAGE_SIZE, direction); - if (dma_mapping_error(fbd->dev, addr)) { - free_page((unsigned long)msg); - + if (dma_mapping_error(fbd->dev, addr)) return -ENOSPC; - } mbx->buf_info[tail].msg = msg; mbx->buf_info[tail].addr = addr; -- 2.49.0