[v3] target/core: Avoid that a kernel oops is triggered when COMPARE AND WRITE fails
diff mbox series

Message ID 20181106004459.5621-1-bvanassche@acm.org
State New, archived
Headers show
Series
  • [v3] target/core: Avoid that a kernel oops is triggered when COMPARE AND WRITE fails
Related show

Commit Message

Bart Van Assche Nov. 6, 2018, 12:44 a.m. UTC
Fixes: aa73237dcb2d ("scsi: target/core: Always call transport_complete_callback() upon failure")
Reviewed-by: David Disseldorp <ddiss@suse.de>
Cc: Nicholas Bellinger <nab@linux-iscsi.org>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---

Changes:
- v2 -> v3: modified patch title
- v1 -> v2: changed approach of this patch as requested by David Disseldorp.

 drivers/target/target_core_transport.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Martin K. Petersen Nov. 6, 2018, 3:18 a.m. UTC | #1
Bart,

> Fixes: aa73237dcb2d ("scsi: target/core: Always call transport_complete_callback() upon failure")

Applied to 4.20/scsi-fixes. Thank you!

Patch
diff mbox series

diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index e31e4fc31aa1..2cfd61d62e97 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1778,7 +1778,7 @@  EXPORT_SYMBOL(target_submit_tmr);
 void transport_generic_request_failure(struct se_cmd *cmd,
 		sense_reason_t sense_reason)
 {
-	int ret = 0;
+	int ret = 0, post_ret;
 
 	pr_debug("-----[ Storage Engine Exception; sense_reason %d\n",
 		 sense_reason);
@@ -1790,7 +1790,7 @@  void transport_generic_request_failure(struct se_cmd *cmd,
 	transport_complete_task_attr(cmd);
 
 	if (cmd->transport_complete_callback)
-		cmd->transport_complete_callback(cmd, false, NULL);
+		cmd->transport_complete_callback(cmd, false, &post_ret);
 
 	if (transport_check_aborted_status(cmd, 1))
 		return;