In the error path, the dev->dev isn't released. Therefore, it might be better to fix it to avoid potential memory leak. Fixes: 9376932 ("IB/mlx4_ib: Add support for user MR re-registration") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/infiniband/hw/mlx4/mr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mlx4/mr.c b/drivers/infiniband/hw/mlx4/mr.c index 50becc0..d8ae92e 100644 --- a/drivers/infiniband/hw/mlx4/mr.c +++ b/drivers/infiniband/hw/mlx4/mr.c @@ -473,7 +473,7 @@ struct ib_mr *mlx4_ib_rereg_user_mr(struct ib_mr *mr, int flags, u64 start, */ err = mlx4_mr_hw_get_mpt(dev->dev, &mmr->mmr, &pmpt_entry); if (err) - return ERR_PTR(err); + goto release_mpt_entry; if (flags & IB_MR_REREG_PD) { err = mlx4_mr_hw_change_pd(dev->dev, *pmpt_entry, -- 2.7.4