Re: suppress page allocation failure warnings from sys_listxattr

From: Dave Jones
Date: Thu Mar 29 2012 - 17:14:00 EST


On Thu, Mar 29, 2012 at 02:09:34PM -0700, Andrew Morton wrote:
> On Wed, 28 Mar 2012 23:00:00 -0400
> Dave Jones <davej@xxxxxxxxxx> wrote:
>
> > On Wed, Mar 28, 2012 at 07:28:04PM -0700, Andrew Morton wrote:
> > > > But it looks like
> > > > key_add (see other thread from this evening) and probably others can be
> > > > called as a user and gobble up vmalloc space. omnomnom.
> > >
> > > hm, the keys code appears to prevent the user from reserving more than
> > > 20000 bytes of memory total (key_payload_reserve()), so it doesn't look
> > > very useful for screwing up vmalloc().
> >
> > Then how did I trick it into trying an order 8 allocation ?
> >
> > trinity: page allocation failure: order:8, mode:0x40d0
> > Pid: 27119, comm: trinity Not tainted 3.3.0+ #31
> > Call Trace:
> > [<ffffffff8115dd66>] warn_alloc_failed+0xf6/0x160
> > [<ffffffff816ad436>] ? __alloc_pages_direct_compact+0x1d0/0x1e2
> > [<ffffffff81162492>] __alloc_pages_nodemask+0x8b2/0xb10
> > [<ffffffff8119dae6>] alloc_pages_current+0xb6/0x120
> > [<ffffffff8115d3b4>] __get_free_pages+0x14/0x50
> > [<ffffffff811ac64f>] kmalloc_order_trace+0x3f/0x1a0
> > [<ffffffff811aca0a>] __kmalloc+0x25a/0x280
> > [<ffffffff812c034a>] sys_add_key+0x9a/0x210
> > [<ffffffff813386be>] ? trace_hardirqs_on_thunk+0x3a/0x3f
> > [<ffffffff816c04e9>] system_call_fastpath+0x16/0x1b
>
> Ah, that's different. The memory at *payload doesn't live beyond the
> syscall so it can't be used to cause vmalloc fragmentation.
>
> We should squish the warning:

That's the same patch I sent in the other thread, so ack ;-)

Dave
--
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/