2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 04:34:11 +08:00
linux-next/drivers/target
Nicholas Bellinger 5e8e6b4b3a iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn
This patch fixes a >= v3.10 regression bug with mutex_trylock() usage
within iscsit_increment_maxcmdsn(), that was originally added to allow
for a special case where ->cmdsn_mutex was already held from the
iscsit_execute_cmd() exception path for ib_isert.

When !mutex_trylock() was occuring under contention during normal RX/TX
process context codepaths, the bug was manifesting itself as the following
protocol error:

  Received CmdSN: 0x000fcbb7 is greater than MaxCmdSN: 0x000fcbb6, protocol error.
  Received CmdSN: 0x000fcbb8 is greater than MaxCmdSN: 0x000fcbb6, protocol error.

This patch simply avoids the direct ib_isert callback in lio_queue_status()
for the special iscsi_execute_cmd() exception cases, that allows the problematic
mutex_trylock() usage in iscsit_increment_maxcmdsn() to go away.

Reported-by: Moussa Ba <moussaba@micron.com>
Tested-by: Moussa Ba <moussaba@micron.com>
Cc: <stable@vger.kernel.org> # v3.10+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-11-12 17:54:56 -08:00
..
iscsi iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn 2013-11-12 17:54:56 -08:00
loopback tcm_loop: Implement target reset 2013-10-16 15:42:52 -07:00
sbp target: Remove TF_CIT_TMPL macro 2013-10-16 13:35:02 -07:00
tcm_fc target: Remove TF_CIT_TMPL macro 2013-10-16 13:35:02 -07:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile target: Add support for EXTENDED_COPY copy offload emulation 2013-09-10 16:48:43 -07:00
target_core_alua.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_alua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_configfs.c target: Remove TF_CIT_TMPL macro 2013-10-16 13:35:02 -07:00
target_core_device.c target: Add per device xcopy_lun for copy offload I/O 2013-11-08 13:13:38 -08:00
target_core_fabric_configfs.c target: Remove TF_CIT_TMPL macro 2013-10-16 13:35:02 -07:00
target_core_fabric_lib.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_file.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_file.h target/file: Bump FD_MAX_SECTORS to 2048 to handle 1M sized I/Os 2013-03-19 17:24:28 -07:00
target_core_hba.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_iblock.c target: Pass through I/O topology for block backstores 2013-11-12 13:44:54 -08:00
target_core_iblock.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_internal.h target: Add percpu refcounting for se_lun access 2013-11-07 14:24:52 -08:00
target_core_pr.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_pr.h target: Alter core_pr_dump_initiator_port for ease of use 2013-06-14 00:04:31 -07:00
target_core_pscsi.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_pscsi.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_rd.c target: Core does not need blkdev.h 2013-11-12 13:45:24 -08:00
target_core_rd.h target/rd: Add ramdisk bit for NULLIO operation 2013-05-11 16:22:39 -07:00
target_core_sbc.c target: Pass through I/O topology for block backstores 2013-11-12 13:44:54 -08:00
target_core_spc.c target: Pass through I/O topology for block backstores 2013-11-12 13:44:54 -08:00
target_core_stat.c target: Core does not need blkdev.h 2013-11-12 13:45:24 -08:00
target_core_tmr.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_tpg.c target: Drop left-over se_lun->lun_cmd_list shutdown code 2013-11-07 14:25:02 -08:00
target_core_transport.c target: Core does not need blkdev.h 2013-11-12 13:45:24 -08:00
target_core_ua.c target: Update copyright ownership/year information to 2013 2013-09-10 20:23:36 -07:00
target_core_ua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_xcopy.c target: Add per device xcopy_lun for copy offload I/O 2013-11-08 13:13:38 -08:00
target_core_xcopy.h target: Add support for EXTENDED_COPY copy offload emulation 2013-09-10 16:48:43 -07:00