aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mlx5/mr.c
diff options
context:
space:
mode:
authorLeon Romanovsky <leonro@mellanox.com>2018-03-13 15:29:24 +0200
committerDoug Ledford <dledford@redhat.com>2018-03-15 10:59:58 -0400
commit4289861d88d6c7b5e4c8cc7fe2ad6cdf0cdfc366 (patch)
tree278b0108d1252ed18f23f80bb9d9e8c316bff069 /drivers/infiniband/hw/mlx5/mr.c
parentMerge branch 'k.o/wip/dl-for-rc' into k.o/wip/dl-for-next (diff)
downloadlinux-dev-4289861d88d6c7b5e4c8cc7fe2ad6cdf0cdfc366.tar.xz
linux-dev-4289861d88d6c7b5e4c8cc7fe2ad6cdf0cdfc366.zip
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: <stable@vger.kernel.org> # 4.10 Fixes: 81713d3788d2 ("IB/mlx5: Add implicit MR support") Reported-by: Noa Osherovich <noaos@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/infiniband/hw/mlx5/mr.c2
1 files changed, 2 insertions, 0 deletions
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