Thread (36 messages) 36 messages, 5 authors, 2014-06-27

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help