seccomp: Sysctl to display available actions
authorTyler Hicks <tyhicks@canonical.com>
Fri, 11 Aug 2017 04:33:52 +0000 (04:33 +0000)
committerKees Cook <keescook@chromium.org>
Mon, 14 Aug 2017 20:46:43 +0000 (13:46 -0700)
commit8e5f1ad116df6b0de65eac458d5e7c318d1c05af
tree88e0c7fe5c3a8099c65d70a4a54562ce37ff4887
parentdeb4de8b31bc5bf21efb6ac31150a01a631cd647
seccomp: Sysctl to display available actions

This patch creates a read-only sysctl containing an ordered list of
seccomp actions that the kernel supports. The ordering, from left to
right, is the lowest action value (kill) to the highest action value
(allow). Currently, a read of the sysctl file would return "kill trap
errno trace allow". The contents of this sysctl file can be useful for
userspace code as well as the system administrator.

The path to the sysctl is:

  /proc/sys/kernel/seccomp/actions_avail

libseccomp and other userspace code can easily determine which actions
the current kernel supports. The set of actions supported by the current
kernel may be different than the set of action macros found in kernel
headers that were installed where the userspace code was built.

In addition, this sysctl will allow system administrators to know which
actions are supported by the kernel and make it easier to configure
exactly what seccomp logs through the audit subsystem. Support for this
level of logging configuration will come in a future patch.

Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Documentation/sysctl/kernel.txt
Documentation/userspace-api/seccomp_filter.rst
kernel/seccomp.c