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