Kees Cook
e985fd474d
seccomp: add "seccomp" syscall
...
This adds the new "seccomp" syscall with both an "operation" and "flags"
parameter for future expansion. The third argument is a pointer value,
used with the SECCOMP_SET_MODE_FILTER operation. Currently, flags must
be 0. This is functionally equivalent to prctl(PR_SET_SECCOMP, ...).
In addition to the TSYNC flag later in this patch series, there is a
non-zero chance that this syscall could be used for configuring a fixed
argument area for seccomp-tracer-aware processes to pass syscall arguments
in the future. Hence, the use of "seccomp" not simply "seccomp_add_filter"
for this syscall. Additionally, this syscall uses operation, flags,
and user pointer for arguments because strictly passing arguments via
a user pointer would mean seccomp itself would be unable to trivially
filter the seccomp syscall itself.
Signed-off-by: Kees Cook <keescook@chromium.org >
Reviewed-by: Oleg Nesterov <oleg@redhat.com >
Reviewed-by: Andy Lutomirski <luto@amacapital.net >
Conflicts:
arch/x86/syscalls/syscall_32.tbl
arch/x86/syscalls/syscall_64.tbl
include/uapi/asm-generic/unistd.h
kernel/seccomp.c
And fixup of unistd32.h to truly enable sys_secomp.
Change-Id: I95bea02382c52007d22e5e9dc563c7d055c2c83f
2014-10-07 16:42:32 -07:00
..
2013-06-14 23:01:05 +02:00
2013-07-01 13:40:46 -07:00
2013-06-20 17:57:01 +02:00
2013-01-11 11:39:33 -08:00
2013-07-01 13:34:57 -07:00
2014-04-24 22:14:30 +00:00
2013-07-01 13:38:49 -07:00
2013-07-01 14:16:28 -07:00
2013-07-01 14:16:22 -07:00
2013-04-22 07:09:06 -07:00
2013-05-04 14:57:58 -04:00
2013-03-12 13:59:14 -07:00
2013-06-12 16:29:46 -07:00
2013-01-11 14:54:55 -08:00
2013-06-12 16:29:45 -07:00
2013-05-11 14:29:11 -07:00
2013-05-24 16:22:52 -07:00
2013-05-07 22:27:15 -04:00
2011-03-23 19:46:28 -07:00
2013-04-14 10:06:31 -07:00
2012-11-19 08:13:38 -08:00
2013-07-01 13:38:49 -07:00
2013-05-01 07:21:43 -07:00
2013-05-01 17:29:18 -04:00
2013-06-20 08:18:35 -10:00
2012-05-31 17:49:27 -07:00
2013-07-01 13:40:30 -07:00
2013-05-01 17:51:54 -07:00
2011-11-06 19:44:47 -08:00
2012-12-18 10:55:28 -08:00
2013-01-27 19:23:31 +01:00
2012-03-28 18:30:03 +01:00
2010-08-09 20:45:05 -07:00
2014-10-07 16:42:30 -07:00
2013-04-15 13:25:16 +02:00
2014-10-07 16:42:30 -07:00
2013-07-01 15:40:39 -07:00
2013-02-23 18:50:11 -08:00
2014-06-06 14:53:48 -07:00
2012-05-03 03:29:33 -07:00
2013-07-01 15:46:23 -07:00
2012-04-25 12:39:25 +02:00
2013-02-05 00:48:46 +01:00
2012-04-10 11:00:30 +02:00
2012-08-06 19:00:35 +03:00
2013-04-15 15:17:26 +09:30
2012-12-20 17:40:19 -08:00
2012-09-13 17:56:13 +02:00
2012-03-23 13:18:57 +01:00
2013-04-30 17:04:07 -07:00
2013-05-16 12:01:11 -07:00
2013-05-28 10:37:59 +02:00
2012-12-11 18:10:49 -08:00
2013-04-30 17:04:02 -07:00
2011-10-31 09:20:12 -04:00
2012-05-29 23:28:41 -04:00
2012-10-24 12:39:09 +02:00
2013-07-01 15:38:03 -07:00
2013-05-05 10:58:06 -07:00
2013-03-15 15:09:43 +10:30
2012-12-20 17:40:21 -08:00
2012-12-05 11:27:24 +10:30
2012-10-19 17:30:40 -07:00
2013-05-17 09:53:36 +01:00
2011-10-31 09:20:12 -04:00
2011-04-14 08:52:33 +02:00
2013-04-19 09:33:36 +02:00
2011-04-14 08:52:33 +02:00
2011-10-31 09:20:12 -04:00
2013-05-01 17:29:39 -04:00
2012-12-06 17:16:23 +08:00
2013-07-01 13:34:57 -07:00
2013-03-18 11:40:21 +00:00
2013-05-01 17:51:54 -07:00
2013-05-01 17:51:54 -07:00
2013-04-22 19:59:25 +02:00
2013-04-18 12:51:19 +02:00
2013-11-13 17:34:12 -08:00
2013-05-01 17:29:18 -04:00
2013-06-29 11:29:08 -07:00
2013-06-18 11:32:10 -05:00
2013-01-28 22:06:21 -08:00
2013-01-28 22:25:21 -08:00
2013-01-28 22:06:21 -08:00
2013-01-28 22:25:21 -08:00
2013-02-04 12:18:20 -08:00
2013-05-15 10:41:12 -07:00
2013-05-05 00:16:35 -04:00
2013-06-10 13:37:12 -07:00
2013-06-10 13:37:11 -07:00
2013-05-08 10:13:35 -07:00
2012-12-18 15:02:12 -08:00
2013-04-29 15:54:40 -07:00
2011-01-27 21:13:51 -05:00
2013-02-07 20:51:08 +01:00
2013-04-10 14:48:37 +02:00
2013-02-07 20:51:08 +01:00
2013-03-23 15:53:52 -07:00
2014-10-07 16:42:32 -07:00
2013-04-30 17:04:08 -07:00
2013-07-01 15:46:24 -07:00
2013-04-30 17:04:03 -07:00
2013-04-12 14:18:43 +02:00
2012-08-13 17:01:07 +02:00
2013-06-10 17:46:57 -07:00
2012-03-23 13:18:57 +01:00
2013-02-07 15:19:36 -08:00
2011-10-31 09:20:12 -04:00
2013-02-26 22:25:17 +01:00
2014-10-07 16:42:32 -07:00
2014-08-22 23:47:15 +00:00
2013-05-09 14:53:20 -04:00
2013-09-19 13:53:19 -05:00
2012-09-13 16:47:34 +02:00
2012-10-06 03:05:31 +09:00
2013-04-29 18:28:42 -07:00
2013-03-15 16:50:20 -07:00
2013-02-16 23:17:25 +01:00
2013-05-15 14:05:17 -07:00
2013-04-29 13:55:38 -07:00
2013-01-27 19:23:31 +01:00
2013-03-03 22:58:33 -05:00
2011-10-31 09:20:12 -04:00
2013-05-01 17:51:54 -07:00
2013-02-27 19:10:24 -08:00
2013-05-01 17:51:54 -07:00
2013-02-27 19:10:22 -08:00
2013-05-01 17:29:39 -04:00
2012-12-06 10:39:54 +01:00
2013-07-01 14:16:17 -07:00
2013-04-30 17:04:02 -07:00
2013-05-15 14:24:24 -07:00