Re: strange allocation failures

Michal Hocko
2017-03-13T10:59:05Z

On Mon 13-03-17 11:45:01, Dmitry Vyukov wrote:
> On Mon, Mar 13, 2017 at 11:37 AM, Dmitry Vyukov <dvyukov@google.com> wrote:
[...]
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 6cbde310abed..418c80a76b4a 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -3073,6 +3073,11 @@ static inline bool should_suppress_show_mem(void)
> > #if NODES_SHIFT > 8
> > ret = in_interrupt();
>
> /\/\/\/\/\/\/\/\
> As a side note, looking at this line.
> Can vmalloc be called from an interrupt? If so, won't we fail all
> vmalloc's in an unlucky interrupt that hit a task with
> fatal_signal_pending?

__get_vm_area_node has a BUG_ON so I do not think this is allowed.