diff options
| author | Oleg Nesterov <oleg@redhat.com> | 2026-07-20 13:13:43 +0200 |
|---|---|---|
| committer | Joel Granados <joel.granados@kernel.org> | 2026-08-05 15:28:23 +0200 |
| commit | 7170ca01623b399c97f2ae9d3e228badc1f25ea3 (patch) | |
| tree | 48b8215e0e2833c9cd8259903fafa6bef97f9142 /include/linux/atomic | |
| parent | 4280dd6da352c0544672102de09df15eb326a145 (diff) | |
sysctl: move the "cad_pid" entry from pid_table[] to kern_reboot_table[]
cad_pid is global, and kill_cad_pid() is only used in the root namespace.
However, due to pid_table_root_permissions(), a non-root user can unshare
pid/user namespaces and modify it from the child namespace. This makes no
sense and is simply wrong.
Move it to kern_reboot_table[] where it logically belongs; this ensures
that only GLOBAL_ROOT_UID can read/modify this sysctl.
Note that this patch doesn't preserve "#ifdef CONFIG_PROC_SYSCTL" around
the "cad_pid"; CONFIG_PROC_SYSCTL selects CONFIG_SYSCTL, so it is always
set when kern_reboot_table[] is compiled.
Cc: stable@vger.kernel.org
Fixes: e054bcbe7e7a ("sysctl: move cad_pid into kernel/pid.c")
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Alexey Gladkov <legion@kernel.org>
Reviewed-by: Bradley Morgan <include@grrlz.net>
Reviewed-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
Diffstat (limited to 'include/linux/atomic')
0 files changed, 0 insertions, 0 deletions
