diff mbox series

scsi: bnx2fc: Check if sense buffer has been allocated during completion

Message ID 1560501397-831-1-git-send-email-92siuyang@gmail.com (mailing list archive)
State Rejected
Headers show
Series scsi: bnx2fc: Check if sense buffer has been allocated during completion | expand

Commit Message

Young Xiao June 14, 2019, 8:36 a.m. UTC
sc_cmd->sense_buffer is not guaranteed to be allocated so we need to
sc_cmd->check if the pointer is NULL before trying to copy anything into it.

See commit 16a611154dc1 ("scsi: qedf: Check if sense buffer has been allocated
during completion") for details.

Signed-off-by: Young Xiao <92siuyang@gmail.com>
---
 drivers/scsi/bnx2fc/bnx2fc_io.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Saurav Kashyap June 14, 2019, 9:47 a.m. UTC | #1
-----Original Message-----
From: <linux-scsi-owner@vger.kernel.org> on behalf of Young Xiao
<92siuyang@gmail.com>
Date: Friday, 14 June 2019 at 2:06 PM
To: "QLogic-Storage-Upstream@qlogic.com"
<QLogic-Storage-Upstream@qlogic.com>, "jejb@linux.ibm.com"
<jejb@linux.ibm.com>, "martin.petersen@oracle.com"
<martin.petersen@oracle.com>, "linux-scsi@vger.kernel.org"
<linux-scsi@vger.kernel.org>, "linux-kernel@vger.kernel.org"
<linux-kernel@vger.kernel.org>
Cc: Young Xiao <92siuyang@gmail.com>
Subject: [PATCH] scsi: bnx2fc: Check if sense buffer has been allocated
during completion

>sc_cmd->sense_buffer is not guaranteed to be allocated so we need to
>sc_cmd->check if the pointer is NULL before trying to copy anything into
>it.
>
>See commit 16a611154dc1 ("scsi: qedf: Check if sense buffer has been
>allocated
>during completion") for details.
>
>Signed-off-by: Young Xiao <92siuyang@gmail.com>
>---
> drivers/scsi/bnx2fc/bnx2fc_io.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c
>b/drivers/scsi/bnx2fc/bnx2fc_io.c
>index 8def63c..44a5e59 100644
>--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
>+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
>@@ -1789,9 +1789,11 @@ static void bnx2fc_parse_fcp_rsp(struct bnx2fc_cmd
>*io_req,
> 			fcp_sns_len = SCSI_SENSE_BUFFERSIZE;
> 		}
> 
>-		memset(sc_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
>-		if (fcp_sns_len)
>-			memcpy(sc_cmd->sense_buffer, rq_data, fcp_sns_len);
>+		if (sc_cmd->sense_buffer) {
>+			memset(sc_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
>+			if (fcp_sns_len)
>+				memcpy(sc_cmd->sense_buffer, rq_data, fcp_sns_len);
>+		}
> 
> 		/* return RQ entries */
> 		for (i = 0; i < num_rq; i++)
>-- 
>2.7.4

Thanks for the patch
Acked-by: Saurav Kashyap <skashyap@marvell.com>

Thanks,
~Saurav
>
Martin K. Petersen June 20, 2019, 8:50 p.m. UTC | #2
Hi Young,

> sc_cmd->sense_buffer is not guaranteed to be allocated so we need to
> sc_cmd->check if the pointer is NULL before trying to copy anything
> into it.

bnx2fc does not appear to use a driver-specific sense buffer.
diff mbox series

Patch

diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index 8def63c..44a5e59 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -1789,9 +1789,11 @@  static void bnx2fc_parse_fcp_rsp(struct bnx2fc_cmd *io_req,
 			fcp_sns_len = SCSI_SENSE_BUFFERSIZE;
 		}
 
-		memset(sc_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
-		if (fcp_sns_len)
-			memcpy(sc_cmd->sense_buffer, rq_data, fcp_sns_len);
+		if (sc_cmd->sense_buffer) {
+			memset(sc_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
+			if (fcp_sns_len)
+				memcpy(sc_cmd->sense_buffer, rq_data, fcp_sns_len);
+		}
 
 		/* return RQ entries */
 		for (i = 0; i < num_rq; i++)