Skip to content

Commit 01bbead

Browse files
zhijianli88gregkh
authored andcommitted
RDMA/rtrs: Fix the last iu->buf leak in err path
[ Upstream commit 3bf3a7c ] The last iu->buf will leak if ib_dma_mapping_error() fails. Fixes: c0894b3 ("RDMA/rtrs: core: lib functions shared between client and server modules") Link: https://lore.kernel.org/r/1682384563-2-3-git-send-email-lizhijian@fujitsu.com Signed-off-by: Li Zhijian <lizhijian@fujitsu.com> Acked-by: Guoqing Jiang <guoqing.jiang@linux.dev> Acked-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 1938f08 commit 01bbead

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

  • drivers/infiniband/ulp/rtrs

drivers/infiniband/ulp/rtrs/rtrs.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,10 @@ struct rtrs_iu *rtrs_iu_alloc(u32 iu_num, size_t size, gfp_t gfp_mask,
3737
goto err;
3838

3939
iu->dma_addr = ib_dma_map_single(dma_dev, iu->buf, size, dir);
40-
if (ib_dma_mapping_error(dma_dev, iu->dma_addr))
40+
if (ib_dma_mapping_error(dma_dev, iu->dma_addr)) {
41+
kfree(iu->buf);
4142
goto err;
43+
}
4244

4345
iu->cqe.done = done;
4446
iu->size = size;

0 commit comments

Comments
 (0)