IB/hfi1: Remove user expected buffer invalidate race
authorDean Luick <dean.luick@cornelisnetworks.com>
Mon, 9 Jan 2023 17:31:31 +0000 (12:31 -0500)
committerLeon Romanovsky <leon@kernel.org>
Tue, 10 Jan 2023 10:21:50 +0000 (12:21 +0200)
commitb3deec25847bda34e34d5d7be02f633caf000bd8
tree0a9ec796278eb027bf097c6cfce943b97033a9dd
parent1c7edde1b5720ddb0aff5ca8c7f605a0f92526eb
IB/hfi1: Remove user expected buffer invalidate race

During setup, there is a possible race between a page invalidate
and hardware programming.  Add a covering invalidate over the user
target range during setup.  If anything within that range is
invalidated during setup, fail the setup.  Once set up, each
TID will have its own invalidate callback and invalidate.

Fixes: 3889551db212 ("RDMA/hfi1: Use mmu_interval_notifier_insert for user_exp_rcv")
Signed-off-by: Dean Luick <dean.luick@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Link: https://lore.kernel.org/r/167328549178.1472310.9867497376936699488.stgit@awfm-02.cornelisnetworks.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hfi1/user_exp_rcv.c
drivers/infiniband/hw/hfi1/user_exp_rcv.h