IB/iser: Fix error flow in iser ep connection establishment
authorOr Gerlitz <ogerlitz@mellanox.com>
Sun, 29 Apr 2012 14:04:21 +0000 (17:04 +0300)
committerRoland Dreier <roland@purestorage.com>
Sat, 19 May 2012 00:05:31 +0000 (17:05 -0700)
commit7d9c0de4ab4ec00b8349d1af0b736a0d473671c2
treeea98903ee548b01debd791d2294a3d9bd4df266a
parentd48b97b403d23f6df0b990cee652bdf9a52337a3
IB/iser: Fix error flow in iser ep connection establishment

The current error flow code was releasing the IB connection object and
calling iscsi_destroy_endpoint() directly without going through the
reference counting mechanism introduced in commit 39ff05d ("IB/iser:
Enhance disconnection logic for multi-pathing"). This resulted in a
double free of the iscsi endpoint object, which causes a kernel NULL
pointer dereference.  Fix that by plugging into the IB conn reference
counting correctly.

Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/ulp/iser/iscsi_iser.c
drivers/infiniband/ulp/iser/iser_verbs.c