OpenCloudOS-Kernel/drivers/target/iscsi
Nicholas Bellinger 007d038bdf iscsi-target: Fix iser explicit logout TX kthread leak
This patch fixes a regression introduced with the following commit
in v4.0-rc1 code, where an explicit iser-target logout would result
in ->tx_thread_active being incorrectly cleared by the logout post
handler, and subsequent TX kthread leak:

    commit 88dcd2dab5
    Author: Nicholas Bellinger <nab@linux-iscsi.org>
    Date:   Thu Feb 26 22:19:15 2015 -0800

        iscsi-target: Convert iscsi_thread_set usage to kthread.h

To address this bug, change iscsit_logout_post_handler_closesession()
and iscsit_logout_post_handler_samecid() to only cmpxchg() on
->tx_thread_active for traditional iscsi/tcp connections.

This is required because iscsi/tcp connections are invoking logout
post handler logic directly from TX kthread context, while iser
connections are invoking logout post handler logic from a seperate
workqueue context.

Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2015-07-24 14:19:44 -07:00
..
Kconfig target: iscsi_target depends on NET 2011-07-28 20:16:18 +00:00
Makefile iscsi-target: Drop legacy iscsi_target_tq.c logic 2015-03-26 14:49:49 -07:00
iscsi_target.c iscsi-target: Fix iser explicit logout TX kthread leak 2015-07-24 14:19:44 -07:00
iscsi_target.h target: simplify the target template registration API 2015-04-14 12:28:41 -07:00
iscsi_target_auth.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_auth.h iscsi-target: Fix CHAP_A parameter list handling 2014-06-05 19:44:02 -07:00
iscsi_target_configfs.c target: Drop unnecessary core_tpg_register TFO parameter 2015-06-15 23:23:22 -07:00
iscsi_target_datain_values.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_datain_values.h
iscsi_target_device.c target: Minimize SCSI header #include directives 2015-06-02 08:03:25 -07:00
iscsi_target_device.h target/iscsi: Remove unneeded wrapper functions 2012-02-25 14:37:47 -08:00
iscsi_target_erl0.c iscsi-target: remove support for obsolete markers 2015-05-30 22:41:43 -07:00
iscsi_target_erl0.h iscsi-target: remove support for obsolete markers 2015-05-30 22:41:43 -07:00
iscsi_target_erl1.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_erl1.h iscsit: use the itt_t abstract type 2012-10-03 14:21:50 -07:00
iscsi_target_erl2.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_erl2.h iscsit: proper endianess conversions 2012-10-03 14:39:22 -07:00
iscsi_target_login.c iscsi-target: Fix iscsit_start_kthreads failure OOPs 2015-07-24 14:19:43 -07:00
iscsi_target_login.h iscsi-target: Fix iscsit_start_kthreads failure OOPs 2015-07-24 14:19:43 -07:00
iscsi_target_nego.c iscsi-target: Fix iscsit_start_kthreads failure OOPs 2015-07-24 14:19:43 -07:00
iscsi_target_nego.h iscsi-target: Initial traditional TCP conversion to iscsit_transport 2013-04-25 01:05:26 -07:00
iscsi_target_nodeattrib.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_nodeattrib.h iscsi-target: Expose default_erl as TPG attribute 2013-11-20 11:57:18 -08:00
iscsi_target_parameters.c iscsi-target: fix variable name typo in iscsi_check_acceptor_state() 2015-05-30 22:42:41 -07:00
iscsi_target_parameters.h iscsi-target: remove support for obsolete markers 2015-05-30 22:41:43 -07:00
iscsi_target_seq_pdu_list.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_seq_pdu_list.h target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists 2012-04-14 17:40:38 -07:00
iscsi_target_stat.c iscsi-target: Move iscsi_target_[core,stat].h under linux include 2015-01-30 13:06:21 -08:00
iscsi_target_tmr.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-07-04 14:13:43 -07:00
iscsi_target_tmr.h
iscsi_target_tpg.c target: Drop unnecessary core_tpg_register TFO parameter 2015-06-15 23:23:22 -07:00
iscsi_target_tpg.h iscsi/iser-target: Add fabric_prot_type attribute support 2015-04-07 23:27:48 -07:00
iscsi_target_transport.c target: Deletion of unnecessary checks before the function call "module_put" 2014-12-01 21:35:21 -08:00
iscsi_target_util.c target: target_core_configfs.h is not needed in fabric drivers 2015-05-30 22:42:39 -07:00
iscsi_target_util.h iscsi-target: remove support for obsolete markers 2015-05-30 22:41:43 -07:00