[SCSI] mpt2sas : fix oops when firmware sends large sense buffer size

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Saturday, May 2, 2009 - 5:02 pm

Gitweb:     http://git.kernel.org/linus/0d04df9b4a83c50ebe2143f20c2d5469c83ba314
Commit:     0d04df9b4a83c50ebe2143f20c2d5469c83ba314
Parent:     03ea1115506c53b46cec2177deb189d186bb80dd
Author:     Eric Moore <eric.moore@lsi.com>
AuthorDate: Tue Apr 21 15:38:43 2009 -0600
Committer:  James Bottomley <James.Bottomley@HansenPartnership.com>
CommitDate: Mon Apr 27 10:53:56 2009 -0500

    [SCSI] mpt2sas : fix oops when firmware sends large sense buffer size
    
    There is a bug in firmware where the reply message frame says there is a
    16kb sense buffer, when in reality its only 20 bytes.  This fix insures
    the memcpy action doesn't corrupte the memory beyond the 90 bytes allocated in
    the scsi command for sense buffer.
    
    Signed-off-by: Eric Moore <eric.moore@lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
 drivers/scsi/mpt2sas/mpt2sas_scsih.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
index 0c463c4..f2d967c 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
@@ -2863,8 +2863,9 @@ scsih_io_done(struct MPT2SAS_ADAPTER *ioc, u16 smid, u8 VF_ID, u32 reply)
 		struct sense_info data;
 		const void *sense_data = mpt2sas_base_get_sense_buffer(ioc,
 		    smid);
-		memcpy(scmd->sense_buffer, sense_data,
+		u32 sz = min_t(u32, SCSI_SENSE_BUFFERSIZE,
 		    le32_to_cpu(mpi_reply->SenseCount));
+		memcpy(scmd->sense_buffer, sense_data, sz);
 		_scsih_normalize_sense(scmd->sense_buffer, &data);
 		/* failure prediction threshold exceeded */
 		if (data.asc == 0x5D)
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[SCSI] mpt2sas : fix oops when firmware sends large sense ..., Linux Kernel Mailing ..., (Sat May 2, 5:02 pm)