OSDN Git Service

IB/mlx5: Fix NULL deference on mlx5_ib_update_xlt failure
authorIlya Lesokhin <ilyal@mellanox.com>
Sun, 24 Sep 2017 18:46:35 +0000 (21:46 +0300)
committerDoug Ledford <dledford@redhat.com>
Mon, 25 Sep 2017 15:47:24 +0000 (11:47 -0400)
commitfbcd49838d9094ca45772356e7b33afe4b7c93e7
tree4e96b51fe57c888f867eb0285af6383a1ac9d180
parentd67bc5d4e3e100d762c0f57ea67f28bc219698a6
IB/mlx5: Fix NULL deference on mlx5_ib_update_xlt failure

mlx5_ib_reg_user_mr called mlx5_ib_dereg_mr in case of MR population
failure. This resulted in a NULL dereference as ibmr->device wasn't
initialized yet.

We address this by adding an internal dereg_mr function that can handle
partially initialized MRs, and fixing clean_mr to work on partially
initialized MRs.

Fixes: ff740aefecb9 ("IB/mlx5: Decouple MR allocation and population flows")
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/mr.c