Re: [PATCH v7 2/9] seccomp: split filter prep from check and apply
From: Kees Cook <hidden>
Date: 2014-06-27 18:45:32
Also in:
linux-arch, linux-arm-kernel, linux-mips, lkml
From: Kees Cook <hidden>
Date: 2014-06-27 18:45:32
Also in:
linux-arch, linux-arm-kernel, linux-mips, lkml
On Thu, Jun 26, 2014 at 5:37 AM, David Drysdale [off-list ref] wrote:
On Mon, Jun 23, 2014 at 02:58:06PM -0700, Kees Cook wrote:quoted
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. Signed-off-by: Kees Cook <redacted> --- kernel/seccomp.c | 97 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 67 insertions(+), 30 deletions(-)diff --git a/kernel/seccomp.c b/kernel/seccomp.c index afb916c7e890..edc8c79ed16d 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c@@ -515,6 +551,7 @@ static long seccomp_set_mode(unsigned long seccomp_mode, char __user *filter) current->seccomp.mode = seccomp_mode; set_thread_flag(TIF_SECCOMP); out: + seccomp_filter_free(prepared); return ret; }I think this needs to be inside #ifdef CONFIG_SECCOMP_FILTER to match the definition of seccomp_filter_free: ../kernel/seccomp.c:554:2: error: implicit declaration of function ‘seccomp_filter_free’ [-Werror=implicit-function-declaration]
Thanks for catching that! I've ended up rearranging the patch series so the prepare/attach split happens after I've split the set_mode functions now, so I've managed to avoid this condition now. :) -Kees -- Kees Cook Chrome OS Security