Add the UML_SECCOMP configuration options. The next commits will add the
support itself in smaller chunks.

Only x86_64 will be supported for now.

Signed-off-by: Benjamin Berg <benja...@sipsolutions.net>
Signed-off-by: Benjamin Berg <benjamin.b...@intel.com>
---
 arch/um/Kconfig | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 48db1c99bd46..4698e4c8ef29 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -240,6 +240,26 @@ config KASAN_SHADOW_OFFSET
          set to a large value. On low-memory systems, try 0x7fff8000, as it 
fits
          into the immediate of most instructions, improving performance.
 
+config UML_SECCOMP
+       bool "SECCOMP based userspace"
+       default n
+       help
+         With SECCOMP userspace processes work collaboratively with the kernel
+         instead of being traced using ptrace. All syscalls from the 
application
+         are caught and redirected using a signal. This signal handler in turn
+         is permitted to do the selected set of syscalls to communicate with
+         the UML kernel and do the required memory management.
+
+         This method is overall faster than the ptrace based userspace,
+         primarily because it reduces the number of context switches for
+         (minor) page faults.
+         However, the SECCOMP filter is not (yet) restrictive enough to prevent
+         userspace from reading and writing all physical memory. Userspace
+         processes could also trick the stub into disabling SIGALRM which
+         prevents it from being interrupted for scheduling purposes.
+
+         If in doubt say N, as the feature has security implications.
+
 endmenu
 
 source "arch/um/drivers/Kconfig"
-- 
2.46.1


Reply via email to