From: Leon Romanovsky Date: Tue, 13 Mar 2018 13:29:24 +0000 (+0200) Subject: RDMA/mlx5: Protect from NULL pointer derefence X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=4289861d88d6c7b5e4c8cc7fe2ad6cdf0cdfc366;p=openwrt%2Fstaging%2Fblogic.git RDMA/mlx5: Protect from NULL pointer derefence The mlx5_ib_alloc_implicit_mr() can fail to acquire pages and the returned mr pointer won't be valid. Ensure that it is not error prior to access. Cc: # 4.10 Fixes: 81713d3788d2 ("IB/mlx5: Add implicit MR support") Reported-by: Noa Osherovich Signed-off-by: Leon Romanovsky Signed-off-by: Doug Ledford --- diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c index 45d9044a1ba9..c7a8ece05bd2 100644 --- a/drivers/infiniband/hw/mlx5/mr.c +++ b/drivers/infiniband/hw/mlx5/mr.c @@ -1232,6 +1232,8 @@ struct ib_mr *mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, return ERR_PTR(-EINVAL); mr = mlx5_ib_alloc_implicit_mr(to_mpd(pd), access_flags); + if (IS_ERR(mr)) + return ERR_CAST(mr); return &mr->ibmr; } #endif