[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120329211315.GB18684@redhat.com>
Date: Thu, 29 Mar 2012 17:13:15 -0400
From: Dave Jones <davej@...hat.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Joe Perches <joe@...ches.com>, Dave Chinner <david@...morbit.com>,
viro@...iv.linux.org.uk,
Linux Kernel <linux-kernel@...r.kernel.org>,
David Rientjes <rientjes@...gle.com>
Subject: Re: suppress page allocation failure warnings from sys_listxattr
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@...hat.com> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists