On Thu, 2010-01-07 at 14:15 -0500, Jeff Garzik wrote:On 12/30/2009 05:59 PM, Renà Bolldorf wrote:We don't need this ;-).
Best regards Renà Bolldorf& a happy new year in advance.
--- ./drivers/ata/libata-eh.c 2009-12-30 23:44:05.578988545 +0100
+++ ./drivers/ata/libata-eh.c 2009-12-30 23:45:06.991987607 +0100
@@ -1505,9 +1505,6 @@ static unsigned int atapi_eh_request_sen
DPRINTK("ATAPI request sense\n");
- /* FIXME: is this needed? */
- memset(sense_buf, 0, SCSI_SENSE_BUFFERSIZE);
I need a little bit more detail than an unqualified statement... Did
you audit all paths leading to this code point?
There are two code paths coming into here. One directly from the scsi
sense buffer:
if (!(qc->ap->pflags& ATA_PFLAG_FROZEN)) {
tmp = atapi_eh_request_sense(qc->dev,
qc->scsicmd->sense_buffer,
qc->result_tf.feature>> 4);
Which is fine because SCSI zeros the sense buffer.
But one also here:
u8 *sense_buffer = dev->link->ap->sector_buf;
[...]
err_mask = atapi_eh_request_sense(dev, sense_buffer, sense_key);
Which doesn't look OK because it looks like the sector_buf isn't cleared
(and it is reused).
James