[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1682384563-2-3-git-send-email-lizhijian@fujitsu.com>
Date: Tue, 25 Apr 2023 01:02:42 +0000
From: Li Zhijian <lizhijian@...itsu.com>
To: <haris.iqbal@...os.com>, <jinpu.wang@...os.com>,
<linux-rdma@...r.kernel.org>
CC: <jgg@...pe.ca>, <leon@...nel.org>, <guoqing.jiang@...ux.dev>,
<linux-kernel@...r.kernel.org>, Li Zhijian <lizhijian@...itsu.com>
Subject: [PATCH for-next v3 2/3] RDMA/rtrs: Fix the last iu->buf leak in err path
The last iu->buf will leak if ib_dma_mapping_error() fails.
Fixes: c0894b3ea69d ("RDMA/rtrs: core: lib functions shared between client and server modules")
Signed-off-by: Li Zhijian <lizhijian@...itsu.com>
Acked-by: Guoqing Jiang <guoqing.jiang@...ux.dev>
Acked-by: Jack Wang <jinpu.wang@...os.com>
---
V3: add fixes and acked tags
V2: new patch to address memory leaking
---
drivers/infiniband/ulp/rtrs/rtrs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/ulp/rtrs/rtrs.c b/drivers/infiniband/ulp/rtrs/rtrs.c
index 4bf9d868cc52..3696f367ff51 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs.c
@@ -37,8 +37,10 @@ struct rtrs_iu *rtrs_iu_alloc(u32 iu_num, size_t size, gfp_t gfp_mask,
goto err;
iu->dma_addr = ib_dma_map_single(dma_dev, iu->buf, size, dir);
- if (ib_dma_mapping_error(dma_dev, iu->dma_addr))
+ if (ib_dma_mapping_error(dma_dev, iu->dma_addr)) {
+ kfree(iu->buf);
goto err;
+ }
iu->cqe.done = done;
iu->size = size;
--
2.29.2
Powered by blists - more mailing lists