kernel_optimize_test/drivers/target
Nicholas Bellinger 91ec1d3535 target: Add workaround for zero-length control CDB handling
This patch adds a work-around for handling zero allocation length
control CDBs (type SCF_SCSI_CONTROL_SG_IO_CDB) that was causing an
OOPs with the following raw calls:

   # sg_raw -v /dev/sdd 3 0 0 0 0 0
   # sg_raw -v /dev/sdd 0x1a 0 1 0 0 0

This patch will follow existing zero-length handling for data I/O
and silently return with GOOD status.  This addresses the zero length
issue, but the proper long-term resolution for handling arbitary
allocation lengths will be to refactor out data-phase handling in
individual CDB emulation logic within target_core_cdb.c

Reported-by: Roland Dreier <roland@purestorage.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-01-18 08:30:22 +00:00
..
iscsi iscsi-target: fix chap identifier simple_strtoul usage 2011-12-14 11:28:09 +00:00
loopback tcm_loop: bump max_sectors 2011-12-14 11:28:11 +00:00
tcm_fc tcm_fc: Convert ft_send_work to use target_submit_cmd 2011-12-14 11:42:08 +00:00
Kconfig iscsi-target: Add iSCSI fabric support for target v4.1 2011-07-26 09:16:43 +00:00
Makefile target: remove the ->transport_split_cdb callback in se_cmd 2011-10-24 03:21:15 +00:00
target_core_alua.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_alua.h target: pass the se_task to the CDB emulation callback 2011-11-04 08:00:17 +00:00
target_core_cdb.c target: Set response format in INQUIRY response 2011-12-14 11:38:28 +00:00
target_core_configfs.c target/configs: remove trailing newline from udev_path and alias 2011-12-14 11:28:10 +00:00
target_core_device.c target: Drop se_device TCQ queue_depth usage from I/O path 2011-12-14 11:42:13 +00:00
target_core_fabric_configfs.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_fabric_lib.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_file.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_file.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_hba.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_iblock.c target: don't allocate bio headroom in iblock 2012-01-18 08:28:02 +00:00
target_core_iblock.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_internal.h target: reshuffle headers 2011-12-14 08:51:12 +00:00
target_core_pr.c target: Allow PERSISTENT RESERVE IN for non-reservation holder 2012-01-18 08:29:36 +00:00
target_core_pr.h target: Move core_scsi3_check_cdb_abort_and_preempt 2011-12-14 11:27:34 +00:00
target_core_pscsi.c target: Drop se_device TCQ queue_depth usage from I/O path 2011-12-14 11:42:13 +00:00
target_core_pscsi.h target: cleanup pscsi request submission 2011-10-24 03:20:44 +00:00
target_core_rd.c target: use \n as a separator for configuration 2011-12-14 11:27:23 +00:00
target_core_rd.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_stat.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_tmr.c target: simplify target_check_cdb_and_preempt 2011-12-14 11:27:55 +00:00
target_core_tpg.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_transport.c target: Add workaround for zero-length control CDB handling 2012-01-18 08:30:22 +00:00
target_core_ua.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_ua.h