seccomp: split filter prep from check and apply
authorKees Cook <keescook@chromium.org>
Fri, 27 Jun 2014 22:16:33 +0000 (15:16 -0700)
committerJP Abgrall <jpa@google.com>
Tue, 7 Oct 2014 23:42:33 +0000 (16:42 -0700)
commitb6a12bf4dd762236c7f637b19cfe10a268304b9b
tree53bcd2e9d299227eddfce38b58ce483291647a93
parent9d0ff694bc22fb458acb763811a677696c60725b
seccomp: split filter prep from check and apply

In preparation for adding seccomp locking, move filter creation away
from where it is checked and applied. This will allow for locking where
no memory allocation is happening. The validation, filter attachment,
and seccomp mode setting can all happen under the future locks.

For extreme defensiveness, I've added a BUG_ON check for the calculated
size of the buffer allocation in case BPF_MAXINSN ever changes, which
shouldn't ever happen. The compiler should actually optimize out this
check since the test above it makes it impossible.

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Andy Lutomirski <luto@amacapital.net>
Conflicts:
kernel/seccomp.c
kernel/seccomp.c