2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-25 21:54:06 +08:00
linux-next/drivers/infiniband/ulp
Sagi Grimberg 19e2090fb2 iser-target: Fix connected_handler + teardown flow race
Take isert_conn pointer from cm_id->qp->qp_context. This
will allow us to know that the cm_id context is always
the network portal. This will make the cm_id event check
(connection or network portal) more reliable.

In order to avoid a NULL dereference in cma_id->qp->qp_context
we destroy the qp after we destroy the cm_id (and make the
dereference safe). session stablishment/teardown sequences
can happen in parallel, we should take into account that
connected_handler might race with connection teardown flow.

Also, protect isert_conn->conn_device->active_qps decrement
within the error patch during QP creation failure and the
normal teardown path in isert_connect_release().

Squashed:

iser-target: Decrement completion context active_qps in error flow

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2014-12-12 23:17:28 -08:00
..
ipoib net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
iser IB/mlx5, iser, isert: Add Signature API additions 2014-10-09 00:10:53 -07:00
isert iser-target: Fix connected_handler + teardown flow race 2014-12-12 23:17:28 -08:00
srp IB/srp: Fix return value check in srp_init_module() 2014-08-14 08:57:54 -07:00
srpt srp-target: Retry when QP creation fails with ENOMEM 2014-10-28 13:55:08 -07:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00