Re: [PATCH v2] syscall_user_dispatch: Use CONFIG_SYSCTL for sysctl guard
From: Joel Granados <joel.granados@kernel.org>
Date: 2026-09-07 12:41:36
Also in:
linux-doc, lkml
On Sat, Aug 22, 2026 at 09:23:25AM +0200, Karl Mehltretter wrote:
quoted hunk ↗ jump to hunk
Commit 8d75c338f0bc ("sysctl: remove CONFIG_PROC_SYSCTL, it just mirrors CONFIG_SYSCTL") removed CONFIG_PROC_SYSCTL, but the sysctl added by commit 5b6e32ba7b59 ("syscall_user_dispatch: Add kernel.syscall_user_dispatch sysctl") is still guarded by it. Now that both commits are merged, kernel.syscall_user_dispatch is no longer registered. syscall_user_dispatch_allowed defaults to true. SUD therefore remains available, but administrators cannot disable new activations. Use CONFIG_SYSCTL for the guard and documentation. Fixes: 5b6e32ba7b59 ("syscall_user_dispatch: Add kernel.syscall_user_dispatch sysctl") Assisted-by: Codex:gpt-5.6-sol Acked-by: Oleg Nesterov <oleg@redhat.com> Reviewed-by: Joel Granados <joel.granados@kernel.org> Signed-off-by: Karl Mehltretter <redacted> --- Changes in v2: - Reword changelog and rebase onto mainline now that both commits are merged there (v7.2 is unaffected, it has neither commit). - Collected Acked-by/Reviewed-by tags from v1. No code change. v1: https://lore.kernel.org/all/20260813062039.14567-1-kmehltretter@gmail.com/ (local) Documentation/admin-guide/sysctl/kernel.rst | 2 +- kernel/entry/syscall_user_dispatch.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst index b6328cd0f43e..ffea61d448eb 100644 --- a/Documentation/admin-guide/sysctl/kernel.rst +++ b/Documentation/admin-guide/sysctl/kernel.rst@@ -1416,7 +1416,7 @@ Controls whether userspace may arm Syscall User Dispatch via == =================================================================== Only present when the kernel is built with ``CONFIG_SYSCALL_USER_DISPATCH`` -and ``CONFIG_PROC_SYSCTL``. +and ``CONFIG_SYSCTL``. sysctl_writes_strictdiff --git a/kernel/entry/syscall_user_dispatch.c b/kernel/entry/syscall_user_dispatch.c index 2002c7aae435..59c861866941 100644 --- a/kernel/entry/syscall_user_dispatch.c +++ b/kernel/entry/syscall_user_dispatch.c@@ -178,7 +178,7 @@ int syscall_user_dispatch_set_config(struct task_struct *task, unsigned long siz (char __user *)(uintptr_t)cfg.selector); } -#ifdef CONFIG_PROC_SYSCTL +#ifdef CONFIG_SYSCTL static const struct ctl_table syscall_user_dispatch_sysctls[] = { { .procname = "syscall_user_dispatch",@@ -195,4 +195,4 @@ static int __init syscall_user_dispatch_sysctl_init(void) return 0; } late_initcall(syscall_user_dispatch_sysctl_init); -#endif /* CONFIG_PROC_SYSCTL */ +#endif /* CONFIG_SYSCTL */base-commit: 26260251022fbc2f248a3d747a9b2b961b18d2d8 -- 2.39.5 (Apple Git-154)
I don't see this anywhere upstream; I'll send this as a fix for 7.3-rc3 in the middle of the week unless someone tells me that it is taking some other path. Best
Attachments
- signature.asc [application/pgp-signature] 659 bytes