kernel-fxtec-pro1x/drivers/infiniband/ulp/ipoib
Michael S. Tsirkin 9acf6a8570 IPoIB: Fix multicast race between canceling and completing
ipoib_mcast_stop_thread currently tests mcast->query and if it is
NULL, does not perform wait_for_completion on the mcast and frees the
mcast object directly.

However, since both operations are done without locking, it is
possible that ipoib_mcast_join_complete is in progress on this mcast
object and has set mcast->query to NULL already.

Solve this by:
- taking priv->lock before we change mcast->query in ipoib_mcast_join_complete,
  and keeping it until we no longer need the mcast object
- taking priv->lock around mcast->query test in ipoib_mcast_stop_thread

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-03-20 10:08:20 -08:00
..
ipoib.h IPoIB: clarify to_ipoib_neigh() 2006-03-20 10:08:16 -08:00
ipoib_fs.c [IPoIB] add path record information in debugfs 2005-11-10 10:22:49 -08:00
ipoib_ib.c IPoIB: Clean up if posting receives fails 2006-03-20 10:08:19 -08:00
ipoib_main.c IPoIB: Make sure path is fully initialized before using it 2006-01-17 09:22:05 -08:00
ipoib_multicast.c IPoIB: Fix multicast race between canceling and completing 2006-03-20 10:08:20 -08:00
ipoib_verbs.c IB: convert from semaphores to mutexes 2006-01-13 14:51:39 -08:00
ipoib_vlan.c IB: convert from semaphores to mutexes 2006-01-13 14:51:39 -08:00
Kconfig
Makefile [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00