Messages in this thread | | | Date | Thu, 29 Mar 2012 17:13:15 -0400 | From | Dave Jones <> | 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@redhat.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
| |