linux_old1/drivers/infiniband/ulp/ipoib
Feras Daoud 27d41d29c7 IB/ipoib: Change list_del to list_del_init in the tx object
Since ipoib_cm_tx_start function and ipoib_cm_tx_reap function
belong to different work queues, they can run in parallel.
In this case if ipoib_cm_tx_reap calls list_del and release the
lock, ipoib_cm_tx_start may acquire it and call list_del_init
on the already deleted object.
Changing list_del to list_del_init in ipoib_cm_tx_reap fixes the problem.

Fixes: 839fcaba35 ("IPoIB: Connected mode experimental support")
Signed-off-by: Feras Daoud <ferasda@mellanox.com>
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Reviewed-by: Alex Vesker <valex@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-01-12 14:01:06 -05:00
..
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile IB/ipoib: Add rtnl_link_ops support 2012-09-20 16:49:17 -04:00
ipoib.h IB/ipoib: move back IB LL address into the hard header 2016-10-14 10:54:53 -04:00
ipoib_cm.c IB/ipoib: Change list_del to list_del_init in the tx object 2017-01-12 14:01:06 -05:00
ipoib_ethtool.c IB/ipoib: Use new device FW version string 2016-06-23 12:08:34 -04:00
ipoib_fs.c IPoIB: Remove unnecessary test for NULL before debugfs_remove() 2014-08-12 21:59:54 -07:00
ipoib_ib.c Updates for 4.10 kernel merge window 2016-12-15 12:03:32 -08:00
ipoib_main.c IB/ipoib: Replace list_del of the neigh->list with list_del_init 2017-01-12 14:01:05 -05:00
ipoib_multicast.c IB/ipoib: Add detailed error message to dev_queue_xmit call 2017-01-12 14:01:04 -05:00
ipoib_netlink.c infiniband: make sure the src net is infiniband when create new link 2014-01-03 20:38:56 -05:00
ipoib_verbs.c IB/ipoib_verbs: Remove deprecated create_singlethread_workqueue 2016-10-07 16:54:32 -04:00
ipoib_vlan.c IB/ipoib: rtnl_unlock can not come after free_netdev 2017-01-12 14:01:04 -05:00