lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 08 Dec 2008 08:15:14 -0500
From:	"Alan D. Brunelle" <Alan.Brunelle@...com>
To:	Mike Anderson <andmike@...ux.vnet.ibm.com>
CC:	Jens Axboe <jens.axboe@...cle.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	LKML-scsi <linux-scsi@...r.kernel.org>,
	James.Bottomley@...senPartnership.com
Subject: Re: [PATCH] Correctly release and allocate a new request on TUR	retries

Mike Anderson wrote:
> Jens Axboe <jens.axboe@...cle.com> wrote:
>> On Fri, Dec 05 2008, Alan D. Brunelle wrote:
>>> Commands needing to be retried (TUR in this case) would result in a block
>>> I/O request being re-used, without being re-initialized properly. This
>>> patch ensures that the requests are correctly re-initialized via
>>> standard allocation means.
>>>
>>> Prior to this patch, boots were failing consistently as in:
>>> http://lkml.org/lkml/2008/12/5/161
>>>
>>> With this patch in place, the system is booting reliably.
>>>
>>> Signed-off-by: Alan D. Brunelle <alan.brunelle@...com>
>>> Cc: Jens Axboe <jens.axboe@...cle.com>
>> Looks good.
>>
>> Acked-by: Jens Axboe <jens.axboe@...cle.com>
>>
>> Perhaps James can push it in, I'm about to shutdown for the day...
>>
> 
> I know a failure was not detected in the hp_sw_start_stop function, but it
> uses the same retry method as hp_sw_tur we should update this function
> also.
> 
> I made a quick scope of callers of blk_get_request and I did not see a
> repeated of this retry usage model. I will make another pass to see if I
> missed something.

drivers/cdrom/cdrom.c:cdrom_read_cdda_bpc() is even worse: it gets one
request, then sits in a while loop re-using the same request over and
over again.

Since blk_rq_init() is an exported symbol, perhaps instead of having the
three callers realloc, it _may_ be sufficient to just have them call
that before re-use? (See attached un-tested patch for an example.)

Regards,
Alan

View attachment "0001-Correctly-re-initialize-requests-on-retries.patch" of type "text/x-diff" (1838 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ