[PATCH v3 0/2] syscall_user_dispatch: add build/runtime configs

From: Gregory Price

Date: Mon Jul 06 2026 - 10:16:32 EST


Syscall User Dispatch is presently compiled in by default for all
architectures enabling CONFIG_GENERIC_ENTRY, and some users may
not wish to have the feature functional at runtime.

Add CONFIG_SYSCALL_USER_DISPATCH and kernel.syscall_user_dispatch
to make it a configurable feature at both build and runtime.

CONFIG_SYSCALL_USER_DISPATCH depends on CONFIG_GENERIC_ENTRY
but is separately configurable.

The runtime control is enabled by default, and disabling the feature
while a task has already armed it does not cause it to become inactive
in that task's context. Instead it remains active until the user
attempts to disable/re-enable via prctl or ptrace. On the next attempt
to re-enable, the prctl/ptrace call fails gracefully.

Gregory Price (2):
syscall_user_dispatch: Make it configurable in Kconfig
syscall_user_dispatch: add kernel.syscall_user_dispatch sysctl

Documentation/admin-guide/sysctl/kernel.rst | 17 +++++++++
arch/Kconfig | 10 +++++
include/linux/entry-common.h | 11 ++----
include/linux/syscall_user_dispatch.h | 28 +++++++++++++-
include/linux/syscall_user_dispatch_types.h | 2 +-
kernel/entry/Makefile | 3 +-
kernel/entry/syscall_user_dispatch.c | 38 +++++++++++++++----
.../selftests/syscall_user_dispatch/config | 2 +-
8 files changed, 92 insertions(+), 19 deletions(-)

---

Changes since v2:
- CONFIG_SYSCTL -> CONFIG_PROC_SYSCTL
- selftest fixup for CONFIG_SYSCALL_USER_DISPATCH
- Reword "IP address range"
- __always_inline fixup (tglx)
- include ordering (tglx)
- proc_dobool (tglx)
- whitespace (tglx)

--
2.54.0