linux-stable/drivers/target
Bart Van Assche 0ca650c13b scsi: target/iscsi: Handle too large immediate data buffers correctly
Since target_alloc_sgl() and iscsit_allocate_iovecs() allocate buffer space
for se_cmd.data_length bytes and since that number can be smaller than the
iSCSI Expected Data Transfer Length (EDTL), ensure that the iSCSI target
driver does not attempt to receive more bytes than what fits in the receive
buffer. Always receive the full immediate data buffer such that the iSCSI
target driver does not attempt to parse immediate data as an iSCSI PDU.

Note: the current code base only calls iscsit_get_dataout() if the size of
the immediate data buffer does not exceed the buffer size derived from the
SCSI CDB. See also target_cmd_size_check().

Cc: Mike Christie <mchristi@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2019-04-12 20:20:06 -04:00
..
iscsi scsi: target/iscsi: Handle too large immediate data buffers correctly 2019-04-12 20:20:06 -04:00
loopback scsi: remove bidirectional command support 2019-02-05 21:29:21 -05:00
sbp scsi: target/core: Remove the write_pending_status() callback function 2019-02-04 21:23:59 -05:00
tcm_fc scsi: target/core: Remove the write_pending_status() callback function 2019-02-04 21:23:59 -05:00
Kconfig
Makefile
target_core_alua.c scsi: target: alua: fix the tg_pt_gps_count 2019-03-27 20:33:07 -04:00
target_core_alua.h
target_core_configfs.c scsi: target/core: Rework the SPC-2 reservation handling code 2019-04-12 20:20:05 -04:00
target_core_device.c scsi: target/core: Fix a race condition in the LUN lookup code 2019-04-12 20:20:05 -04:00
target_core_fabric_configfs.c scsi: target: drop unnecessary get_fabric_name() accessor from fabric_ops 2018-11-28 18:50:58 -05:00
target_core_fabric_lib.c
target_core_file.c
target_core_file.h
target_core_hba.c
target_core_iblock.c
target_core_iblock.h
target_core_internal.h scsi: target/core: Make ABORT and LUN RESET handling synchronous 2018-12-07 21:22:55 -05:00
target_core_pr.c scsi: target/core: Rework the SPC-2 reservation handling code 2019-04-12 20:20:05 -04:00
target_core_pr.h scsi: target/core: Rework the SPC-2 reservation handling code 2019-04-12 20:20:05 -04:00
target_core_pscsi.c SCSI misc on 20181224 2018-12-28 14:48:06 -08:00
target_core_pscsi.h
target_core_rd.c
target_core_rd.h
target_core_sbc.c
target_core_spc.c scsi: target: remove hardcoded T10 Vendor ID in INQUIRY response 2018-12-07 21:54:33 -05:00
target_core_stat.c scsi: target: consistently null-terminate t10_wwn strings 2018-12-07 21:54:33 -05:00
target_core_tmr.c scsi: target/core: Rework the SPC-2 reservation handling code 2019-04-12 20:20:05 -04:00
target_core_tpg.c scsi: target/core: Simplify transport_clear_lun_ref() 2018-12-07 21:20:07 -05:00
target_core_transport.c scsi: target/core: Add target_send_busy() 2019-02-04 21:28:48 -05:00
target_core_ua.c scsi: target: drop unnecessary get_fabric_name() accessor from fabric_ops 2018-11-28 18:50:58 -05:00
target_core_ua.h
target_core_user.c SCSI misc on 20190315 2019-03-16 12:51:50 -07:00
target_core_xcopy.c scsi: target/core: Make the XCOPY setup code easier to read by inlining two functions 2019-04-12 20:20:06 -04:00
target_core_xcopy.h