linux/drivers/infiniband
Shlomo Pongratz fa16ebed31 IB/ipoib: Add missing locking when CM object is deleted
Commit b63b70d877 ("IPoIB: Use a private hash table for path lookup
in xmit path") introduced a bug where in ipoib_cm_destroy_tx() a CM
object is moved between lists without any supported locking.  Under a
stress test, this eventually leads to list corruption and a crash.

Previously when this routine was called, callers were taking the
device priv lock.  Currently this function is called from the RCU
callback associated with neighbour deletion.  Fix the race by taking
the same lock we used to before.

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2012-08-14 15:21:44 -07:00
..
core RDMA/ucma: Convert open-coded equivalent to memdup_user() 2012-07-27 13:27:45 -07:00
hw Merge branches 'cma', 'ipoib', 'ocrdma' and 'qib' into for-next 2012-07-30 07:47:27 -07:00
ulp IB/ipoib: Add missing locking when CM object is deleted 2012-08-14 15:21:44 -07:00
Kconfig RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter 2012-05-08 11:17:47 -07:00
Makefile RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter 2012-05-08 11:17:47 -07:00