Re: [PATCH v2] syscall_user_dispatch: Use CONFIG_SYSCTL for sysctl guard
From: Bradley Morgan
Date: Sat Aug 22 2026 - 13:37:43 EST
On 22 August 2026 18:35:14 BST, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
>
>On 8/22/26 12:23 AM, Karl Mehltretter wrote:
>> 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@xxxxxxxxxx>
>> Reviewed-by: Joel Granados <joel.granados@xxxxxxxxxx>
Reviewed-by: Bradley Morgan <include@xxxxxxxxx>
>> Signed-off-by: Karl Mehltretter <kmehltretter@xxxxxxxxx>
>
>Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>Thanks.
>
>> ---
>> 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@xxxxxxxxx/
>>
>> 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``.
Ack.
>>
>>
>> sysctl_writes_strict
>> diff --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
Ack.
>> 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
>
>
Thanks!