RDMA/mlx5: Protect from NULL pointer derefence
authorLeon Romanovsky <leonro@mellanox.com>
Tue, 13 Mar 2018 13:29:24 +0000 (15:29 +0200)
committerDoug Ledford <dledford@redhat.com>
Thu, 15 Mar 2018 14:59:58 +0000 (10:59 -0400)
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>
drivers/infiniband/hw/mlx5/mr.c

index 45d9044a1ba90db03b9a6e08a48f5f0a94608802..c7a8ece05bd21903002f204a617a3091a917dbf7 100644 (file)
@@ -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