]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/6.6.28/bnxt_en-fix-possible-memory-leak-in-bnxt_rdma_aux_de.patch
Linux 6.6.28
[thirdparty/kernel/stable-queue.git] / releases / 6.6.28 / bnxt_en-fix-possible-memory-leak-in-bnxt_rdma_aux_de.patch
1 From a01c9a53f75ead091cef6f80a8c0f1490ec00d9a Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Fri, 5 Apr 2024 16:55:11 -0700
4 Subject: bnxt_en: Fix possible memory leak in bnxt_rdma_aux_device_init()
5
6 From: Vikas Gupta <vikas.gupta@broadcom.com>
7
8 [ Upstream commit 7ac10c7d728d75bc9daaa8fade3c7a3273b9a9ff ]
9
10 If ulp = kzalloc() fails, the allocated edev will leak because it is
11 not properly assigned and the cleanup path will not be able to free it.
12 Fix it by assigning it properly immediately after allocation.
13
14 Fixes: 303432211324 ("bnxt_en: Remove runtime interrupt vector allocation")
15 Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
16 Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com>
17 Signed-off-by: Michael Chan <michael.chan@broadcom.com>
18 Signed-off-by: David S. Miller <davem@davemloft.net>
19 Signed-off-by: Sasha Levin <sashal@kernel.org>
20 ---
21 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 ++-
22 1 file changed, 2 insertions(+), 1 deletion(-)
23
24 diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
25 index 6ba2b93986333..7188ea81401de 100644
26 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
27 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
28 @@ -394,12 +394,13 @@ void bnxt_rdma_aux_device_init(struct bnxt *bp)
29 if (!edev)
30 goto aux_dev_uninit;
31
32 + aux_priv->edev = edev;
33 +
34 ulp = kzalloc(sizeof(*ulp), GFP_KERNEL);
35 if (!ulp)
36 goto aux_dev_uninit;
37
38 edev->ulp_tbl = ulp;
39 - aux_priv->edev = edev;
40 bp->edev = edev;
41 bnxt_set_edev_info(edev, bp);
42
43 --
44 2.43.0
45