android_kernel_xiaomi_sm8350/drivers/target
Nicholas Bellinger 7e46cf0268 iscsi-target: Fix residual count hanlding + remove iscsi_cmd->residual_count
This patch fixes iscsi-target handling of underflow where residual data is
causing an OOPs by using the incorrect iscsi_cmd_t->data_length initially
assigned in iscsit_allocate_se_cmd().  It resets iscsi_cmd_t->data_length
from se_cmd_t->data_length after transport_generic_allocate_tasks()
has been invoked in iscsit_handle_scsi_cmd() RX context, and converts
iscsi_cmd->residual_count usage to access iscsi_cmd->se_cmd.residual_count
to get the proper residual count set by target-core.

Reported-by: <lists@internyc.net>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Andy Grover <agrover@redhat.com>
Cc: stable@kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-12-06 06:00:54 +00:00
..
iscsi iscsi-target: Fix residual count hanlding + remove iscsi_cmd->residual_count 2011-12-06 06:00:54 +00:00
loopback target: remove the t_tasks_bidi se_cmd field 2011-12-06 06:00:53 +00:00
tcm_fc target: Drop config_item_name usage in fabric TFO->free_wwn() 2011-12-06 06:00:51 +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: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +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: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +00:00
target_core_cdb.h target: use ->exectute_task for all CDB emulation 2011-11-04 10:44:35 +00:00
target_core_configfs.c target: Remove legacy se_task->task_timer and associated logic 2011-10-24 03:22:08 +00:00
target_core_device.c target: remove the se_obj_ptr and se_orig_obj_ptr se_cmd fields 2011-12-06 06:00:52 +00:00
target_core_fabric_configfs.c target: Remove unneeded version.h includes 2011-10-11 04:10:19 +00:00
target_core_fabric_lib.c drivers/target: Add export.h to files as required. 2011-10-31 19:31:58 -04:00
target_core_file.c target: remove the t_tasks_fua se_cmd field 2011-12-06 06:00:52 +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 drivers/target: Add module.h to drivers/target files as required. 2011-10-31 19:31:59 -04:00
target_core_hba.h
target_core_iblock.c target: remove the t_tasks_fua se_cmd field 2011-12-06 06:00:52 +00:00
target_core_iblock.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_pr.c target: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +00:00
target_core_pr.h target: pass the se_task to the CDB emulation callback 2011-11-04 08:00:17 +00:00
target_core_pscsi.c target: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +00:00
target_core_pscsi.h target: cleanup pscsi request submission 2011-10-24 03:20:44 +00:00
target_core_rd.c target: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +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 unneeded version.h includes 2011-10-11 04:10:19 +00:00
target_core_stat.h [SCSI] target: add initial statistics 2011-03-23 11:36:50 -05:00
target_core_tmr.c target: Address legacy PYX_TRANSPORT_* return code breakage 2011-12-06 06:00:49 +00:00
target_core_tpg.c drivers/target: Add export.h to files as required. 2011-10-31 19:31:58 -04:00
target_core_transport.c target: Reject SCSI data overflow for fabrics using transport_generic_map_mem_to_cmd 2011-12-06 06:00:53 +00:00
target_core_ua.c target: Remove unneeded version.h includes 2011-10-11 04:10:19 +00:00
target_core_ua.h