linux/drivers/infiniband
Nitzan Carmi 45e6ae7ef2 IB/mlx5: Fix mlx5_ib_alloc_mr error flow
ibmr.device is being set only after ib_alloc_mr() is
(successfully) complete. Therefore, in case mlx5_core_create_mkey()
return with error, the error flow calls mlx5_free_priv_descs()
which uses ibmr.device (which doesn't exist yet), causing
a NULL dereference oops.

To fix this, the IB device should be set in the mr struct earlier
stage (e.g. prior to calling mlx5_core_create_mkey()).

Fixes: 8a187ee52b ("IB/mlx5: Support the new memory registration API")
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Nitzan Carmi <nitzanc@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2017-12-27 15:24:41 -07:00
..
core IB/core: Verify that QP is security enabled in create and destroy 2017-12-27 15:24:41 -07:00
hw IB/mlx5: Fix mlx5_ib_alloc_mr error flow 2017-12-27 15:24:41 -07:00
sw Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
ulp IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush 2017-12-21 16:06:07 -07:00
Kconfig IB: INFINIBAND should depend on HAS_DMA 2017-11-30 16:01:28 -07:00
Makefile IB/rdmavt: Create module framework and handle driver registration 2016-03-10 20:37:04 -05:00