From: Leon Romanovsky Date: Sun, 28 Jan 2018 09:25:30 +0000 (+0200) Subject: RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure X-Git-Tag: v4.19~1637^2~54 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b081808a66345ba725b77ecd8d759bee874cd937;p=platform%2Fkernel%2Flinux-rpi.git RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure Failure in XRCD FW deallocation command leaves memory leaked and returns error to the user which he can't do anything about it. This patch changes behavior to always free memory and always return success to the user. Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters") Reviewed-by: Majd Dibbiny Signed-off-by: Leon Romanovsky Reviewed-by: Yuval Shaia Signed-off-by: Jason Gunthorpe --- diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index ae36db3..d5cc95f 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c @@ -5067,13 +5067,10 @@ int mlx5_ib_dealloc_xrcd(struct ib_xrcd *xrcd) int err; err = mlx5_core_xrcd_dealloc(dev->mdev, xrcdn); - if (err) { + if (err) mlx5_ib_warn(dev, "failed to dealloc xrcdn 0x%x\n", xrcdn); - return err; - } kfree(xrcd); - return 0; }