iscsi-target: Avoid early conn_logout_comp for iser connections
authorNicholas Bellinger <nab@linux-iscsi.org>
Mon, 23 Feb 2015 08:57:51 +0000 (00:57 -0800)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 28 Mar 2015 14:23:13 +0000 (10:23 -0400)
commitaf8524b010eb5fc2ce7df2533f4257d3d46d4d91
treea159908d7721ecd270cf3814c24ddbd5c7ff605c
parentb54521a3bfe9970502be05efadda60b4ce6dab07
iscsi-target: Avoid early conn_logout_comp for iser connections

[ Upstream commit f068fbc82e7696d67b1bb8189306865bedf368b6 ]

This patch fixes a iser specific logout bug where early complete()
of conn->conn_logout_comp in iscsit_close_connection() was causing
isert_wait4logout() to complete too soon, triggering a use after
free NULL pointer dereference of iscsi_conn memory.

The complete() was originally added for traditional iscsi-target
when a ISCSI_LOGOUT_OP failed in iscsi_target_rx_opcode(), but given
iser-target does not wait in logout failure, this special case needs
to be avoided.

Reported-by: Sagi Grimberg <sagig@mellanox.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Slava Shwartsman <valyushash@gmail.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/target/iscsi/iscsi_target.c