Re: [PATCH] goldfish_pipe: use GFP_ATOMIC under spin lock

From: Jin Qian
Date: Fri Jun 09 2017 - 15:15:49 EST


Reviewed-by: Jin Qian <jinqian@xxxxxxxxxx>

Can we merge this to stable?

Thanks!
jin

On Mon, May 22, 2017 at 11:48 AM, Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, 22 May 2017 13:51:52 +0200
> Michal Hocko <mhocko@xxxxxxxxxx> wrote:
>
>> On Sun 21-05-17 09:48:36, Michal Hocko wrote:
>> > On Sun 21-05-17 00:45:46, Wei Yongjun wrote:
>> > > From: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
>> > >
>> > > The function get_free_pipe_id_locked() is called from
>> > > goldfish_pipe_open() with a lock is held, so we should
>> > > use GFP_ATOMIC instead of GFP_KERNEL.
>> >
>> > Why is GFP_NOWAIT insufficient? Does this path needs an access to memory
>> > reserves?
>>
>> And now when looking at the code more deeply, wouldn't it be much better
>> to simply do the allocation outside of the spin lock and do assignments
>> with the lock held?
>
> That's far from trivial and certainly for backporting and an immediate
> fix this seems better. The allocations are not that large and any fail
> would be in open() not anywhere weird.
>
> Alan