linux/drivers/target
Nicholas Bellinger 4454b66cb6 iscsi-target: Fix-up all zero data-length CDBs with R/W_BIT set
This patch changes special case handling for ISCSI_OP_SCSI_CMD
where an initiator sends a zero length Expected Data Transfer
Length (EDTL), but still sets the WRITE and/or READ flag bits
when no payload transfer is requested.

Many, many moons ago two special cases where added for an ancient
version of ESX that has long since been fixed, so instead of adding
a new special case for the reported bug with a Broadcom 57800 NIC,
go ahead and always strip off the incorrect WRITE + READ flag bits.

Also, avoid sending a reject here, as RFC-3720 does mandate this
case be handled without protocol error.

Reported-by: Witold Bazakbal <865perl@wp.pl>
Tested-by: Witold Bazakbal <865perl@wp.pl>
Cc: <stable@vger.kernel.org> #3.1+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-12-11 10:59:57 -08:00
..
iscsi iscsi-target: Fix-up all zero data-length CDBs with R/W_BIT set 2013-12-11 10:59:57 -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_core_alua: Store supported ALUA states 2013-11-20 11:26:37 -08:00
target_core_alua.h target_core_alua: Store supported ALUA states 2013-11-20 11:26:37 -08:00
target_core_configfs.c target_core_configfs: split up ALUA supported states 2013-11-20 11:38:18 -08:00
target_core_device.c target core: rename (ex,im)plict -> (ex,im)plicit 2013-11-20 11:24:40 -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 core: rename (ex,im)plict -> (ex,im)plicit 2013-11-20 11:24:40 -08: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 core: rename (ex,im)plict -> (ex,im)plicit 2013-11-20 11:24:40 -08: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/pscsi: fix return value check 2013-10-25 10:42:09 -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 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2013-11-22 10:52:03 -08:00
target_core_spc.c target core: rename (ex,im)plict -> (ex,im)plicit 2013-11-20 11:24:40 -08:00
target_core_stat.c target: Convert se_device statistics to atomic_long_t 2013-11-13 18:34:55 -08:00
target_core_tmr.c target: Convert se_device statistics to atomic_long_t 2013-11-13 18:34:55 -08:00
target_core_tpg.c target: Remove write-only stats fields and lock from struct se_node_acl 2013-12-11 10:59:45 -08:00
target_core_transport.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2013-11-22 10:52:03 -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 core: rename (ex,im)plict -> (ex,im)plicit 2013-11-20 11:24:40 -08:00
target_core_xcopy.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2013-11-22 10:52:03 -08:00
target_core_xcopy.h target: Add support for EXTENDED_COPY copy offload emulation 2013-09-10 16:48:43 -07:00