* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
[not found] <4B3BDB66.6000008@googlemail.com>
@ 2010-01-07 19:15 ` Jeff Garzik
2010-01-07 20:34 ` René Bolldorf
2010-01-08 15:28 ` James Bottomley
0 siblings, 2 replies; 10+ messages in thread
From: Jeff Garzik @ 2010-01-07 19:15 UTC (permalink / raw)
To: René Bolldorf; +Cc: linux-ide, linux-kernel, linux-scsi
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?
Jeff
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-07 19:15 ` [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset() Jeff Garzik
@ 2010-01-07 20:34 ` René Bolldorf
2010-01-07 20:40 ` René Bolldorf
2010-01-08 15:28 ` James Bottomley
1 sibling, 1 reply; 10+ messages in thread
From: René Bolldorf @ 2010-01-07 20:34 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-ide, linux-kernel, linux-scsi
On 01/07/10 20:15, Jeff Garzik wrote:
> I need a little bit more detail than an unqualified statement... Did
> you audit all paths leading to this code point?
Yes, and my two systems running fine with the patch, no oops or panic's.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-07 20:34 ` René Bolldorf
@ 2010-01-07 20:40 ` René Bolldorf
2010-01-08 11:30 ` Rolf Eike Beer
0 siblings, 1 reply; 10+ messages in thread
From: René Bolldorf @ 2010-01-07 20:40 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-ide, linux-kernel, linux-scsi
On 01/07/10 21:34, René Bolldorf wrote:
> On 01/07/10 20:15, Jeff Garzik wrote:
>> I need a little bit more detail than an unqualified statement... Did
>> you audit all paths leading to this code point?
>
> Yes, and my two systems running fine with the patch, no oops or panic's.
Sry forgot that:
/* initialize sense_buf with the error register,
* for the case where they are -not- overwritten
*/
sense_buf[0] = 0x70;
sense_buf[2] = dfl_sense_key;
So i think memset() is not needed and works very well without it.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-07 20:40 ` René Bolldorf
@ 2010-01-08 11:30 ` Rolf Eike Beer
0 siblings, 0 replies; 10+ messages in thread
From: Rolf Eike Beer @ 2010-01-08 11:30 UTC (permalink / raw)
To: René Bolldorf; +Cc: Jeff Garzik, linux-ide, linux-kernel, linux-scsi
[-- Attachment #1: Type: Text/Plain, Size: 623 bytes --]
René Bolldorf wrote:
> On 01/07/10 21:34, René Bolldorf wrote:
> > On 01/07/10 20:15, Jeff Garzik wrote:
> >> I need a little bit more detail than an unqualified statement... Did
> >> you audit all paths leading to this code point?
> >
> > Yes, and my two systems running fine with the patch, no oops or panic's.
>
> Sry forgot that:
> /* initialize sense_buf with the error register,
> * for the case where they are -not- overwritten
> */
> sense_buf[0] = 0x70;
> sense_buf[2] = dfl_sense_key;
>
> So i think memset() is not needed and works very well without it.
What happens to sense_buf[1]?
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-07 19:15 ` [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset() Jeff Garzik
2010-01-07 20:34 ` René Bolldorf
@ 2010-01-08 15:28 ` James Bottomley
2010-01-08 20:47 ` René Bolldorf
1 sibling, 1 reply; 10+ messages in thread
From: James Bottomley @ 2010-01-08 15:28 UTC (permalink / raw)
To: Jeff Garzik; +Cc: René Bolldorf, linux-ide, linux-kernel, linux-scsi
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-08 15:28 ` James Bottomley
@ 2010-01-08 20:47 ` René Bolldorf
2010-01-08 22:21 ` Marc Bejarano
0 siblings, 1 reply; 10+ messages in thread
From: René Bolldorf @ 2010-01-08 20:47 UTC (permalink / raw)
To: James Bottomley; +Cc: Jeff Garzik, linux-ide, linux-kernel, linux-scsi
On 01/08/10 16:28, James Bottomley wrote:
> 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
>
>
Thank's, you're right. I have overseen this, sry for that.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-08 20:47 ` René Bolldorf
@ 2010-01-08 22:21 ` Marc Bejarano
0 siblings, 0 replies; 10+ messages in thread
From: Marc Bejarano @ 2010-01-08 22:21 UTC (permalink / raw)
To: linux-scsi
René Bolldorf <xsecute <at> googlemail.com> writes:
> On 01/08/10 16:28, James Bottomley wrote:
> > 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 .
> >>> - /* 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?
> > 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
> >
> >
>
> Thank's, you're right. I have overseen this, sry for that.
René: perhaps you'd like to submit a patch that substitutes FIXME comment
for one that explains why the memset is needed, crediting James in the
description? we may as well gain something permanent from this discussion
that you started :)
cheers,
marc
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
[not found] <5543f88f1001111129u362be554kd97027d977b5dff3@mail.gmail.com>
@ 2010-01-11 19:41 ` Marc Bejarano
2010-01-11 20:18 ` René Bolldorf
0 siblings, 1 reply; 10+ messages in thread
From: Marc Bejarano @ 2010-01-11 19:41 UTC (permalink / raw)
To: René Bolldorf
Cc: linux-scsi, linux-ide, James Bottomley, linux-kernel, jgarzik
and once more in plain text. (sorry vger)
2010/1/11 Marc Bejarano <beej@beej.org>:
> oops. seems that GMANE's reply function only goes to a single "newsgroup".
> original recipients re-added.
> marc
> ----
> From: Marc Bejarano <beej <at> beej.org>
> Subject: Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
> Newsgroups: gmane.linux.scsi
> Date: 2010-01-08 22:21:09 GMT (2 days, 20 hours and 40 minutes ago)
>
> René Bolldorf <xsecute <at> googlemail.com> writes:
>> On 01/08/10 16:28, James Bottomley wrote:
>> > 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 .
>
>> >>> - /* 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?
>
>> > 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
>> >
>> >
>>
>> Thank's, you're right. I have overseen this, sry for that.
>
> René: perhaps you'd like to submit a patch that substitutes FIXME comment
> for one that explains why the memset is needed, crediting James in the
> description? we may as well gain something permanent from this discussion
> that you started :)
>
> cheers,
> marc
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo <at> vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> ----
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-11 19:41 ` Marc Bejarano
@ 2010-01-11 20:18 ` René Bolldorf
2010-01-12 0:55 ` Marc Bejarano
0 siblings, 1 reply; 10+ messages in thread
From: René Bolldorf @ 2010-01-11 20:18 UTC (permalink / raw)
To: Marc Bejarano
Cc: linux-scsi, linux-ide, James Bottomley, linux-kernel, jgarzik
On 01/11/10 20:41, Marc Bejarano wrote:
> and once more in plain text. (sorry vger)
>
> 2010/1/11 Marc Bejarano<beej@beej.org>:
>> oops. seems that GMANE's reply function only goes to a single "newsgroup".
>> original recipients re-added.
>> marc
>> ----
>> From: Marc Bejarano<beej<at> beej.org>
>> Subject: Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
>> Newsgroups: gmane.linux.scsi
>> Date: 2010-01-08 22:21:09 GMT (2 days, 20 hours and 40 minutes ago)
>>
>> René Bolldorf<xsecute<at> googlemail.com> writes:
>>> On 01/08/10 16:28, James Bottomley wrote:
>>>> 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 .
>>
>>>>>> - /* 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?
>>
>>>> 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
>>>>
>>>>
>>>
>>> Thank's, you're right. I have overseen this, sry for that.
>>
>> René: perhaps you'd like to submit a patch that substitutes FIXME comment
>> for one that explains why the memset is needed, crediting James in the
>> description? we may as well gain something permanent from this discussion
>> that you started :)
>>
>> cheers,
>> marc
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>> the body of a message to majordomo<at> vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> ----
I hope that's good enough explained :-).
Best regards
René
--- ./drivers/ata/libata-eh.c 2010-01-07 23:21:23.622464012 +0100
+++ ./drivers/ata/libata-eh.c 2010-01-11 21:11:19.869092897 +0100
@@ -1505,7 +1505,10 @@ static unsigned int atapi_eh_request_sen
DPRINTK("ATAPI request sense\n");
- /* FIXME: is this needed? */
+ /* make sure sense_buf is cleared then atapi_eh_request_sense is
called.
+ * (to make sure nothing get's reused.)
+ * thanks to James Bottomley
+ */
memset(sense_buf, 0, SCSI_SENSE_BUFFERSIZE);
/* initialize sense_buf with the error register,
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset()
2010-01-11 20:18 ` René Bolldorf
@ 2010-01-12 0:55 ` Marc Bejarano
0 siblings, 0 replies; 10+ messages in thread
From: Marc Bejarano @ 2010-01-12 0:55 UTC (permalink / raw)
To: René Bolldorf
Cc: linux-scsi, linux-ide, James Bottomley, linux-kernel, jgarzik
2010/1/11 René Bolldorf <xsecute@googlemail.com>:
> I hope that's good enough explained :-).
definitely an improvement, but i think jeff is going to want your
S-O-B and at least a patch title, if no description :)
> + /* make sure sense_buf is cleared then atapi_eh_request_sense is
> called.
s/then/when/ ?
> + * (to make sure nothing get's reused.)
probably not necessary
> + * thanks to James Bottomley
this may be better in a patch description
cheers,
marc
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-01-12 0:55 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4B3BDB66.6000008@googlemail.com>
2010-01-07 19:15 ` [PATCH]drivers/ata/libata-eh.c:1509 unneeded memset() Jeff Garzik
2010-01-07 20:34 ` René Bolldorf
2010-01-07 20:40 ` René Bolldorf
2010-01-08 11:30 ` Rolf Eike Beer
2010-01-08 15:28 ` James Bottomley
2010-01-08 20:47 ` René Bolldorf
2010-01-08 22:21 ` Marc Bejarano
[not found] <5543f88f1001111129u362be554kd97027d977b5dff3@mail.gmail.com>
2010-01-11 19:41 ` Marc Bejarano
2010-01-11 20:18 ` René Bolldorf
2010-01-12 0:55 ` Marc Bejarano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox