+ scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     scsi : megaraid_{mm,mbox}: a fix on INQUIRY with EVPD

has been added to the -mm tree.  Its filename is

     scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: scsi : megaraid_{mm,mbox}: a fix on INQUIRY with EVPD
From: "Ju, Seokmann" <Seokmann.Ju@xxxxxxxx>

With this patch, driver will protect data corruption created by INQUIRY with
EVPD request to megaraid controllers.

As specified in the changelog, megaraid F/W already has fixed the issue and
being under process of release.  Meanwhile, driver will protect the system
with this patch.

Signed-off-by: Seokmann Ju <seokmann.ju@xxxxxxxx>
Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 Documentation/scsi/ChangeLog.megaraid |    7 +++++++
 drivers/scsi/megaraid/mega_common.h   |    3 +++
 drivers/scsi/megaraid/megaraid_mbox.c |    8 ++++++++
 3 files changed, 18 insertions(+)

diff -puN Documentation/scsi/ChangeLog.megaraid~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd Documentation/scsi/ChangeLog.megaraid
--- a/Documentation/scsi/ChangeLog.megaraid~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd
+++ a/Documentation/scsi/ChangeLog.megaraid
@@ -59,6 +59,13 @@ Older Version	: 2.20.4.8 (scsi module), 
 	> Buffer I/O error on device sda6, logical block 522067228
 	> attempt to access beyond end of device
 
+2.	When INQUIRY with EVPD bit set issued to the MegaRAID controller,
+	system memory gets corrupted.
+	Root Cause: MegaRAID F/W handle the INQUIRY with EVPD bit set
+	incorrectly.
+	Fix: MegaRAID F/W has fixed the problem and being process of release,
+	soon. Meanwhile, driver will filter out the request.
+
 Release Date	: Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@xxxxxxxx>
 Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
 Older Version	: 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
diff -puN drivers/scsi/megaraid/mega_common.h~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd drivers/scsi/megaraid/mega_common.h
--- a/drivers/scsi/megaraid/mega_common.h~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd
+++ a/drivers/scsi/megaraid/mega_common.h
@@ -40,6 +40,9 @@
 #define HBA_SIGNATURE_64_BIT		0x299
 #define PCI_CONF_AMISIG64		0xa4
 
+#define MEGA_SCSI_INQ_EVPD		1
+#define MEGA_INVALID_FIELD_IN_CDB	0x24
+
 
 /**
  * scb_t - scsi command control block
diff -puN drivers/scsi/megaraid/megaraid_mbox.c~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd drivers/scsi/megaraid/megaraid_mbox.c
--- a/drivers/scsi/megaraid/megaraid_mbox.c~scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd
+++ a/drivers/scsi/megaraid/megaraid_mbox.c
@@ -1644,6 +1644,14 @@ megaraid_mbox_build_cmd(adapter_t *adapt
 				rdev->last_disp |= (1L << SCP2CHANNEL(scp));
 			}
 
+			if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) {
+				scp->sense_buffer[0] = 0x70;
+				scp->sense_buffer[2] = ILLEGAL_REQUEST;
+				scp->sense_buffer[12] = MEGA_INVALID_FIELD_IN_CDB;
+				scp->result = CHECK_CONDITION << 1;
+				return NULL;
+			}
+
 			/* Fall through */
 
 		case READ_CAPACITY:
_

Patches currently in -mm which might be from Seokmann.Ju@xxxxxxxx are

scsi-megaraid_mmmbox-64-bit-dma-capability-checker.patch
scsi-megaraid_mmmbox-a-fix-on-inquiry-with-evpd.patch
scsi-megaraid_mmmbox-a-fix-on-kernel-unaligned-access-address-issue.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux