linux/drivers/target
Himanshu Madhani 5e47f1985d target: Fix target_release_cmd_kref shutdown comp leak
This patch fixes an active I/O shutdown bug for fabric
drivers using target_wait_for_sess_cmds(), where se_cmd
descriptor shutdown would result in hung tasks waiting
indefinitely for se_cmd->cmd_wait_comp to complete().

To address this bug, drop the incorrect list_del_init()
usage in target_wait_for_sess_cmds() and always complete()
during se_cmd target_release_cmd_kref() put, in order to
let caller invoke the final fabric release callback
into se_cmd->se_tfo->release_cmd() code.

Reported-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Tested-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2016-03-22 00:23:08 -07:00
..
iscsi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2016-01-20 17:20:53 -08:00
loopback target: Convert demo-mode only drivers to target_alloc_session 2016-03-10 21:44:28 -08:00
sbp sbp-target: Convert to TARGET_SCF_ACK_KREF I/O krefs 2016-03-10 21:48:12 -08:00
tcm_fc tcm_fc: Convert to TARGET_SCF_ACK_KREF I/O + TMR krefs 2016-03-10 21:48:23 -08:00
Kconfig
Makefile
target_core_alua.c
target_core_alua.h
target_core_configfs.c target: Fix incorrect unmap_zeroes_data_store return 2016-02-10 20:34:56 -08:00
target_core_device.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_fabric_configfs.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_fabric_lib.c
target_core_file.c target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors 2016-01-29 19:29:34 -08:00
target_core_file.h
target_core_hba.c
target_core_iblock.c target/iblock: pass WRITE_SAME to device if possible 2016-03-10 21:48:53 -08:00
target_core_iblock.h
target_core_internal.h target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_pr.c target: Fix spelling + remove set-but-not-used variables 2016-01-06 13:38:37 -08:00
target_core_pr.h
target_core_pscsi.c
target_core_pscsi.h
target_core_rd.c
target_core_rd.h
target_core_sbc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2016-01-20 17:20:53 -08:00
target_core_spc.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_stat.c
target_core_tmr.c target: Fix remote-port TMR ABORT + se_cmd fabric stop 2016-02-05 15:40:34 -08:00
target_core_tpg.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_transport.c target: Fix target_release_cmd_kref shutdown comp leak 2016-03-22 00:23:08 -07:00
target_core_ua.c
target_core_ua.h
target_core_user.c target/user: Report capability of handling out-of-order completions to userspace 2016-03-10 21:49:09 -08:00
target_core_xcopy.c
target_core_xcopy.h