linux/drivers/infiniband/ulp
Feras Daoud d369bba844 IB/ipoib: Change list_del to list_del_init in the tx object
[ Upstream commit 27d41d29c7 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-11-15 15:53:16 +01:00
..
ipoib IB/ipoib: Change list_del to list_del_init in the tx object 2017-11-15 15:53:16 +01:00
iser IB/iser: Fix connection teardown race condition 2017-07-27 15:08:05 -07:00
isert iser-target: Avoid isert_conn->cm_id dereference in isert_login_recv_done 2017-07-27 15:08:06 -07:00
srp IB/srp: Fix race conditions related to task management 2017-03-15 10:02:44 +08:00
srpt Merge of primary rdma-core code for 4.9 2016-10-09 17:04:33 -07:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00