Procházet zdrojové kódy

[SCSI] scsi_transport_spi: fix sense buffer size error

The code does this:

unsigned char sense[SCSI_SENSE_BUFFERSIZE];
...
scsi_normalize_sense(sense, sizeof(*sense), sshdr)

however the sizeof will return 1 not 96 which means the sense data will
have no valid ASC/ASCQ values.  Fix by putting the correct sense size.
The only affected case for this would have been the DV buffer sanity
check failure, which is fortunately quite rare.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley před 18 roky
rodič
revize
4ed381ee55
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      drivers/scsi/scsi_transport_spi.c

+ 1 - 1
drivers/scsi/scsi_transport_spi.c

@@ -122,7 +122,7 @@ static int spi_execute(struct scsi_device *sdev, const void *cmd,
 			if (!sshdr)
 			if (!sshdr)
 				sshdr = &sshdr_tmp;
 				sshdr = &sshdr_tmp;
 
 
-			if (scsi_normalize_sense(sense, sizeof(*sense),
+			if (scsi_normalize_sense(sense, SCSI_SENSE_BUFFERSIZE,
 						 sshdr)
 						 sshdr)
 			    && sshdr->sense_key == UNIT_ATTENTION)
 			    && sshdr->sense_key == UNIT_ATTENTION)
 				continue;
 				continue;