Re: [PATCH for-next v2 2/3] RDMA/rtrs: Fix the last iu->buf leak in err path

From: Jinpu Wang
Date: Mon Apr 24 2023 - 01:18:49 EST


On Sun, Apr 23, 2023 at 3:27 AM Li Zhijian <lizhijian@xxxxxxxxxxx> wrote:
>
> The last iu->buf will leak if ib_dma_mapping_error() fails.
>
> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx>
Yes, as guoqing suggested, please add the Fixes tag.
Acked-by: Jack Wang <jinpu.wang@xxxxxxxxx>
> ---
> 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
>