Blob Blame History Raw
From: Hannes Reinecke <hare@suse.de>
Date: Wed, 30 Jan 2019 09:16:06 +0100
Subject: [PATCH] mpt3sas: check sense buffer before copying sense data
References: bsc#1106811
Patch-Mainline: never, SLE15/SLE12-SP4 specific

Whether or not a sense data is present depends on the caller,
so we should only copy in the sense data if we actually have
buffer.

Signed-off-by: Hannes Reinecke <hare@suse.com>
---
 drivers/scsi/mpt3sas/mpt3sas_transport.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

--- a/drivers/scsi/mpt3sas/mpt3sas_transport.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_transport.c
@@ -2011,8 +2011,12 @@ _transport_smp_handler(struct Scsi_Host
 				  __func__,
 				  le16_to_cpu(mpi_reply->ResponseDataLength)));
 
-		memcpy(scsi_req(req)->sense, mpi_reply, sizeof(*mpi_reply));
-		scsi_req(req)->sense_len = sizeof(*mpi_reply);
+		scsi_req(req)->sense_len = 0;
+		if (scsi_req(req)->sense) {
+			memcpy(scsi_req(req)->sense, mpi_reply,
+			       sizeof(*mpi_reply));
+			scsi_req(req)->sense_len = sizeof(*mpi_reply);
+		}
 		scsi_req(req)->resid_len = 0;
 		scsi_req(rsp)->resid_len -=
 		    le16_to_cpu(mpi_reply->ResponseDataLength);