On 12/02/2013 08:20 AM, Jeff Moyer wrote:
> Ming Lei <[email protected]> writes:
> 
>> blk_mq_alloc_request_pinned() may return NULL request in case of
>> !__GFP_WAIT, so cause its callers to derefence NULL pointer for
>> releasing current context.
>>
>> This patch introduces two flags to address the issue.
> 
> Hi, Ming,
> 
> 
> Good catch, but your patch seems overly complicated.  How about
> something like the following (compile-tested only), instead?  Note that
> I did not touch blk_make_request, as the put_ctx there seems to
> correlate to a get_ctx earlier in the function (not a leaked reference
> from __blk_mq_alloc_request).

I would tend to agree, it's overly complicated. The bug is real, however.

> p.s. Jens, every time I see GFP_ATOMIC|__GFP_WAIT, my head explodes.  Just 
> sayin'.

It's perfectly fine :-)

-- 
Jens Axboe

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

Reply via email to