Re: [PATCH v3 0/2] block,scsi: fixup blk_get_request dead queue scenarios

From: Jeff Moyer
Date: Tue Aug 26 2014 - 17:27:49 EST


Jens Axboe <axboe@xxxxxxxxx> writes:

> On 08/26/2014 11:24 AM, Jeff Moyer wrote:
>> Joe Lawrence <joe.lawrence@xxxxxxxxxxx> writes:
>>
>>> v2->v3: rebase to 3.16-rc2, consider return values from the
>>> blk_mq_alloc_request leg of the blk_get_request callchain
>>> (noted by Jeff), noted in the second patch changelog.
>>>
>>> blk_mq_queue_enter may return 0 or errno, which
>>> blk_mq_alloc_request can propogate out via ERR_PTR.
>>> __blk_mq_alloc_request doesn't include any blk_queue_dying
>>> checks, so I'm assuming that its failures can be attributed
>>> to -EWOULDBLOCK under !GFP_WAIT conditions.
>>>
>>> v1->v2: incorporate Jeff's feedback in bsg_map_hdr() and Reviewed-by
>>> tags.
>>>
>>> Joe Lawrence (2):
>>> block,scsi: verify return pointer from blk_get_request
>>> block,scsi: fixup blk_get_request dead queue scenarios
>>
>> Jens,
>>
>> Did this patch set fall through the cracks again?
>
> Falling through the cracks implies that I meant to apply it and did not,
> which was not the case.

Sorry, I was mislead by our earlier conversation on this (mail inline
below).

> But I think we're at the point now where I'm finally comfortable with
> applying it. So, Joe, could you ensure that it applies to 3.17-rc2,
> then I will roll it in to the updates for 3.18.

Joe, you will have one hunk to modify for sure, in scsi_ioctl.c. A
previous patch added a check for null, but ended up returning the wrong
value (ENOMEM instead of ENODEV).

Cheers,
Jeff

---old mail below---

From: Jens Axboe <axboe@xxxxxxxxx>
Subject: Re: [PATCH v2 0/2] block,scsi: fixup blk_get_request dead queue scenarios
To: Jeff Moyer <jmoyer@xxxxxxxxxx>, Joe Lawrence <joe.lawrence@xxxxxxxxxxx>
CC: linux-kernel@xxxxxxxxxxxxxxx
Date: Thu, 26 Jun 2014 10:11:09 -0600 (8 weeks, 5 days, 5 hours ago)

On 2014-06-26 10:08, Jeff Moyer wrote:
> Joe Lawrence <joe.lawrence@xxxxxxxxxxx> writes:
>
>> v1->v2: incorporate Jeff's feedback in bsg_map_hdr() and Reviewed-by
>> tags.
>>
>> Joe Lawrence (2):
>> block,scsi: verify return pointer from blk_get_request
>> block,scsi: convert and handle ERR_PTR from blk_get_request
>
> Jens,
>
> Can you pick this series up? It actually fixes a NULL pointer
> dereference that can happen if (for example) a usb optical drive is
> removed while an application is using it.

Yeah I'll pick it up, opening up the 3.17 branches soon.

--
Jens Axboe



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/