aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/c++/clang.cpp
diff options
context:
space:
mode:
authorJason Gunthorpe <[email protected]>2019-01-12 02:31:24 +0000
committerJason Gunthorpe <[email protected]>2019-01-21 21:39:29 +0000
commit951d01b96f174ded6180e7e4e14929ef22e7da7e (patch)
tree209d4714e9a384d70d72255283ba2a96384705ad /tools/perf/util/c++/clang.cpp
parentRDMA/device: Expose ib_device_try_get(() (diff)
downloadkernel-951d01b96f174ded6180e7e4e14929ef22e7da7e.tar.gz
kernel-951d01b96f174ded6180e7e4e14929ef22e7da7e.zip
IB/mlx5: Fix how advise_mr() launches async work
Work must hold a kref on the ib_device otherwise the dev pointer can become free before the work runs. This can happen because the work is being pushed onto the system work queue which is not flushed during driver unregister. Remove the bogus use of 'reg_state': - While in uverbs the reg_state is guaranteed to always be REGISTERED - Testing reg_state with no locking is bogus. Use ib_device_try_get() to get back into a region that prevents unregistration. For now continue with a flow that is similar to the existing code. Fixes: 813e90b1aeaa ("IB/mlx5: Add advise_mr() support") Signed-off-by: Jason Gunthorpe <[email protected]> Reviewed-by: Moni Shoua <[email protected]>
Diffstat (limited to 'tools/perf/util/c++/clang.cpp')
0 files changed, 0 insertions, 0 deletions