Re: [PATCH v17 08/15] seccomp: add system call filtering using BPF
From: Will Drewry <wad@chromium.org>
Date: 2012-04-10 20:16:36
Also in:
linux-arch, lkml
On Tue, Apr 10, 2012 at 3:00 PM, Andrew Morton [off-list ref] wrote:
On Mon, 9 Apr 2012 14:59:00 -0500 Will Drewry [off-list ref] wrote:quoted
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 ;)
I was wildly speculating about it, but maybe I should stop doing that.
This is a regular old allocation of kernel memory - the thing to use here is GFP_KERNEL|__GFP_NOWARN.
Sounds good - I've just changed the patchset to that effect.
(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).
-- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html