Thread (69 messages) 69 messages, 16 authors, 2012-04-16

Re: [PATCH v17 08/15] seccomp: add system call filtering using BPF

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2012-04-10 20:00:22
Also in: linux-arch, lkml

On Mon, 9 Apr 2012 14:59:00 -0500
Will Drewry [off-list ref] wrote:
quoted
quoted
I think this gives userspace an easy way of causing page allocation
failure warnings, by permitting large kmalloc() attempts. __Add
__GFP_NOWARN?
Max is 32kb. sk_attach_filter() in net/core/filter.c is worse,
it allocates up to 512kb before even checking the length.

What about using GFP_USER (and adding __GFP_NOWARN to GFP_USER) instead?
It looks like GFP_USER|__GFP_NOWARN would make sense here.  I'll change it.
I'm not really sure why GFP_USER exists.  It's very rarely used, and
most usages are probably inappropriate.  To me it means "same as
GFP_HIGHUSER, only don't use highmem".  That's relevant to blockdev
pagecache and nothing else as far as I can tell.  And good luck working
out what the __GFP_HARDWALL does ;)

This is a regular old allocation of kernel memory - the thing to use
here is GFP_KERNEL|__GFP_NOWARN.

(I'm surprised that we didn't remove __GFP_NOWARN ages ago - warning by
default is pretty obnoxious.  But the warning continues to be
occasionally useful and false positives are rare).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help