[PATCH v3 0/3] syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON

Dmitry Vyukov posted 3 patches 6 months, 3 weeks ago
Only 0 patches received!
.../admin-guide/syscall-user-dispatch.rst     |  23 +--
include/uapi/linux/prctl.h                    |   7 +-
kernel/entry/syscall_user_dispatch.c          |  36 +++--
tools/include/uapi/linux/prctl.h              |   7 +-
.../syscall_user_dispatch/sud_test.c          | 140 ++++++++++++------
5 files changed, 146 insertions(+), 67 deletions(-)
[PATCH v3 0/3] syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON
Posted by Dmitry Vyukov 6 months, 3 weeks ago
syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON

There are two possible scenarios for syscall filtering:
- having a trusted/allowed range of PCs, and intercepting everything else
- or the opposite: a single untrusted/intercepted range and allowing
   everything else (this is relevant for any kind of sandboxing scenario,
   or monitoring behavior of a single library)

The current API only allows the former use case due to allowed
range wrap-around check. Add PR_SYS_DISPATCH_INCLUSIVE_ON that
enables the second use case.

Cc: Gabriel Krisman Bertazi <krisman@collabora.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Gregory Price <gregory.price@memverge.com>
Cc: Marco Elver <elver@google.com>
Cc: linux-kernel@vger.kernel.org

Dmitry Vyukov (3):
  selftests: Fix errno checking in syscall_user_dispatch test
  syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON
  selftests: Add tests for PR_SYS_DISPATCH_INCLUSIVE_ON

 .../admin-guide/syscall-user-dispatch.rst     |  23 +--
 include/uapi/linux/prctl.h                    |   7 +-
 kernel/entry/syscall_user_dispatch.c          |  36 +++--
 tools/include/uapi/linux/prctl.h              |   7 +-
 .../syscall_user_dispatch/sud_test.c          | 140 ++++++++++++------
 5 files changed, 146 insertions(+), 67 deletions(-)


base-commit: 4a95bc121ccdaee04c4d72f84dbfa6b880a514b6
-- 
2.49.0.1143.g0be31eac6b-goog