Messages in this thread | | | Date | Wed, 27 Aug 2014 10:13:03 -0400 | From | Joe Lawrence <> | Subject | Re: [PATCH v3 0/2] block,scsi: fixup blk_get_request dead queue scenarios |
| |
On Tue, 26 Aug 2014 18:01:23 -0400 Jeff Moyer <jmoyer@redhat.com> wrote:
> Jens Axboe <axboe@kernel.dk> writes: > > >> I have applied the first one, will look over the second one and hand > >> apply it. Seems the NULL return was completely removed, so we _should_ > >> be ok on the IS_ERR() conversion, though that sort of thing always > >> worries me a little bit. A NULL return can quickly show up again, and > >> then they would all fail. > > Well, we could guard against that with a BUG_ON in blk_get_request, > right?
Since the two error cases (ENOMEM and ENODEV) are rare exceptions, could the reintroduction of a NULL return slip by a quick bench test?
> > Additionally, there's still quite a few places that call > > blk_get_request() and don't check the error return if __GFP_WAIT is set. > > Since most of the point of this is to fix segfaulting on queue dead > > scenarios, why aren't they all converted? > > Odd, I thought they all were converted last I checked. They definitely > should be.
I largely left the ide-*.c files alone. The only guy who bothered checking the blk_get_request return was ide-park, which I updated with IS_ERR. If the others should be hardened (I assumed these were mostly deprecated drivers), I can add that code in a v3.
Jens, were there other callers that were missed? I'm using cscope to find them, so perhaps I inadvertently filtered a file out of the search.
Regards,
-- Joe
| |