There are possible race conditions related to attempting to access rxe pool objects at the same time as the pools or elements are being freed. This series of patches addresses these races. Bob Pearson (6): RDMA/rxe: Make rxe_alloc() take pool lock RDMA/rxe: Copy setup parameters into rxe_pool RDMA/rxe: Save object pointer in pool element RDMA/rxe: Combine rxe_add_index with rxe_alloc RDMA/rxe: Combine rxe_add_key with rxe_alloc RDMA/rxe: Fix potential race condition in rxe_pool drivers/infiniband/sw/rxe/rxe_mcast.c | 5 +- drivers/infiniband/sw/rxe/rxe_mr.c | 1 - drivers/infiniband/sw/rxe/rxe_mw.c | 5 +- drivers/infiniband/sw/rxe/rxe_pool.c | 235 +++++++++++++------------- drivers/infiniband/sw/rxe/rxe_pool.h | 67 +++----- drivers/infiniband/sw/rxe/rxe_verbs.c | 10 -- 6 files changed, 140 insertions(+), 183 deletions(-) -- 2.30.2