Re: kernel BUG at mm/mempolicy.c:1699!

From: Dmitry Vyukov
Date: Fri Jul 29 2016 - 15:17:02 EST


On Fri, Jul 29, 2016 at 9:10 PM, Vegard Nossum <vegard.nossum@xxxxxxxxxx> wrote:
> On 07/29/2016 08:05 PM, Dmitry Vyukov wrote:
>>
>> On Fri, Jul 29, 2016 at 7:57 PM, Vegard Nossum <vegard.nossum@xxxxxxxxxx>
>> wrote:
>>>
>>> ------------[ cut here ]------------
>>> kernel BUG at mm/mempolicy.c:1699!
>
> [...]
>>>
>>> In particular, it's interesting that the kernel/exit.c line is
>>>
>>> mpol_put(tsk->mempolicy);
>>>
>>> and alloc_pages_current() does (potentially):
>>>
>>> pol = get_task_policy(current);.
>>>
>>> The bug seems very new or very rare or both.
>>
>>
>> This is https://github.com/google/kasan/issues/35
>> It is introduced with stackdepot.
>
>
> Ah, cool.
>
> Would it be enough to set __GFP_THISNODE in depot_save_stack() so it
> uses &default_policy instead of current->mempolicy?

I don't have deep understanding of that code. But looks at the code,
using &default_policy should help.