linux/drivers/target
Nicholas Bellinger b69c1fcf0a target: Fix possible TFO->write_pending() sense_reason_t silent WRITE corruption
This patch fixes a possible case in transport_generic_new_cmd() where a
failure from TFO->write_pending() from a fabric module return something
other than -EAGAIN or -ENOMEM would cause a failed WRITE to silently
succeed.

Go ahead and return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE for this
special case instead of only just making noise with WARN_ON().

(v2: Fix incorrect exception return for all cases)

Cc: Christoph Hellwig <hch@lst.de>
Cc: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-11-07 20:10:56 -08:00
..
iscsi target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
loopback target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
sbp sbp-target: fix return value check in sbp_register_configfs() 2012-09-22 16:29:52 -07:00
tcm_fc tcm_fc: move the dereference below the NULL test 2012-09-17 18:04:09 -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 incorrect inversion of TPGS_EXPLICT_ALUA check 2012-11-06 20:55:46 -08:00
target_core_alua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_configfs.c target: simplify alua support 2012-11-06 20:55:45 -08:00
target_core_device.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_fabric_configfs.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08: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: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_file.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_hba.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_iblock.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -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: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_pr.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_pr.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_pscsi.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_pscsi.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_rd.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_rd.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_sbc.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_spc.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_stat.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_tmr.c target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08: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: Fix possible TFO->write_pending() sense_reason_t silent WRITE corruption 2012-11-07 20:10:56 -08:00
target_core_ua.c target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_ua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00