Commit 3bf3a7c6 authored by Li Zhijian's avatar Li Zhijian Committed by Jason Gunthorpe
Browse files

RDMA/rtrs: Fix the last iu->buf leak in err path

The last iu->buf will leak if ib_dma_mapping_error() fails.

Fixes: c0894b3e ("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: default avatarLi Zhijian <lizhijian@fujitsu.com>
Acked-by: default avatarGuoqing Jiang <guoqing.jiang@linux.dev>
Acked-by: default avatarJack Wang <jinpu.wang@ionos.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent 5842d1d9
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;