summaryrefslogtreecommitdiff
path: root/lib/random32.c
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2019-10-01 18:38:21 +0300
committerJason Gunthorpe <jgg@mellanox.com>2019-10-04 21:54:22 +0300
commit0417791536ae1e28d7f0418f1d20048ec4d3c6cf (patch)
tree4e44c18ea147f7f17066d93d5279146c2c8cf907 /lib/random32.c
parentaa603815c7f8a8f368d6d8ea6ebf601429883439 (diff)
downloadlinux-0417791536ae1e28d7f0418f1d20048ec4d3c6cf.tar.xz
RDMA/mlx5: Add missing synchronize_srcu() for MW cases
While MR uses live as the SRCU 'update', the MW case uses the xarray directly, xa_erase() causes the MW to become inaccessible to the pagefault thread. Thus whenever a MW is removed from the xarray we must synchronize_srcu() before freeing it. This must be done before freeing the mkey as re-use of the mkey while the pagefault thread is using the stale mkey is undesirable. Add the missing synchronizes to MW and DEVX indirect mkey and delete the bogus protection against double destroy in mlx5_core_destroy_mkey() Fixes: 534fd7aac56a ("IB/mlx5: Manage indirection mkey upon DEVX flow for ODP") Fixes: 6aec21f6a832 ("IB/mlx5: Page faults handling infrastructure") Link: https://lore.kernel.org/r/20191001153821.23621-7-jgg@ziepe.ca Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'lib/random32.c')
0 files changed, 0 insertions, 0 deletions