linux_dsm_epyc7002/drivers/infiniband
Jason Gunthorpe 620db1a118 RDMA/ucma: Fix error cases around ucma_alloc_ctx()
The store to ctx->cm_id was based on the idea that _ucma_find_context()
would not return the ctx until it was fully setup.

Without locking this doesn't work properly.

Split things so that the xarray is allocated with NULL to reserve the ID
and once everything is final set the cm_id and store.

Along the way this shows that the error unwind in ucma_get_event() if a
new ctx is created is wrong, fix it up.

Link: https://lore.kernel.org/r/20200818120526.702120-5-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-08-27 08:38:14 -03:00
..
core RDMA/ucma: Fix error cases around ucma_alloc_ctx() 2020-08-27 08:38:14 -03:00
hw IB/mlx5: Add DCT RoCE LAG support 2020-08-27 08:34:28 -03:00
sw RDMA/rxe: prevent rxe creation on top of vlan interface 2020-08-24 14:12:18 -03:00
ulp IB/isert: remove duplicated error prints 2020-08-18 15:22:05 -03:00
Kconfig IB/uverbs: Enable CQ ioctl commands by default 2020-07-06 19:50:33 -03:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00