linux-stable/drivers/target
Paolo Bonzini d81cb44726 target: go through normal processing for all zero-length commands
Yay, all users of transport_kmap_data_sg now check for a zero-length
request and/or a too-small parameter list length.  We can thus go through
the normal emulation path even for such commands.

This means that out-of-bounds reads and writes are now reported correctly
even if they transfer 0 blocks.  Other errors are also reported correctly.

Testcase: sg_raw /dev/sdb 28 00 80 00 00 00 00 00 00 00
    should fail with ILLEGAL REQUEST / LBA OUT OF RANGE sense
    does not fail without the patch
    (still wrong with the patch, but better: the ASC is INVALID FIELD IN CDB)

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-09-17 17:13:39 -07:00
..
iscsi target/iscsi: Don't log "iSCSI Login negotiation failed." twice 2012-09-17 17:13:35 -07:00
loopback target: Simplify fabric sense data length handling 2012-09-17 17:12:58 -07:00
sbp target: use list_move_tail instead of list_del/list_add_tail 2012-09-17 17:13:36 -07:00
tcm_fc tcm_fc: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:33 -07:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile target: move code for CDB emulation 2012-07-16 17:27:45 -07:00
target_core_alua.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_alua.h target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute 2012-05-17 00:45:58 -07:00
target_core_configfs.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_device.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_fabric_configfs.c target: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:34 -07:00
target_core_fabric_lib.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_file.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_file.h target/file: Use O_DSYNC by default for FILEIO backends 2012-06-02 23:47:20 -07:00
target_core_hba.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_iblock.c target: do not submit a zero-bio I/O request 2012-09-17 17:13:38 -07:00
target_core_iblock.h target/iblock: Add parameter to specify read-only devices 2012-07-16 17:29:11 -07:00
target_core_internal.h target: refactor core_update_device_list_for_node() 2012-07-16 17:35:24 -07:00
target_core_pr.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_pr.h target: replace ->execute_task with ->execute_cmd 2012-05-06 15:11:14 -07:00
target_core_pscsi.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_pscsi.h target: remove struct se_task 2012-05-06 15:11:26 -07:00
target_core_rd.c target: Drop se_subsystem_api->[write_cache,fua_write]_emulated flags 2012-09-17 17:13:34 -07:00
target_core_rd.h target: don't limit transfer sizes for the ramdisk backend 2012-04-14 17:40:30 -07:00
target_core_sbc.c target: support zero allocation length in SBC commands 2012-09-17 17:13:38 -07:00
target_core_spc.c target: fix truncation of mode data, support zero allocation length 2012-09-17 17:13:37 -07:00
target_core_stat.c target: remove unused including <generated/utsrelease.h> 2012-09-17 17:13:34 -07:00
target_core_tmr.c target: replace the processing thread with a TMR work queue 2012-07-16 17:35:21 -07:00
target_core_tpg.c target: Fix minor spelling typos in drivers/target 2012-09-17 17:13:31 -07:00
target_core_transport.c target: go through normal processing for all zero-length commands 2012-09-17 17:13:39 -07:00
target_core_ua.c target: Use array_zalloc for device_list 2012-03-15 19:15:51 -07:00
target_core_ua.h