On 1/10/25 06:16, Joel Granados wrote:
Add the const qualifier to all the ctl_tables in the tree except for
watchdog_hardlockup_sysctl, memory_allocation_profiling_sysctls,
loadpin_sysctl_table and the ones calling register_net_sysctl (./net,
drivers/inifiniband dirs). These are special cases as they use a
registration function with a non-const qualified ctl_table argument or
modify the arrays before passing them on to the registration function.

Constifying ctl_table structs will prevent the modification of
proc_handler function pointers as the arrays would reside in .rodata.
This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide:
constify the ctl_table argument of proc_handlers") constified all the
proc_handlers.

Created this by running an spatch followed by a sed command:
Spatch:
     virtual patch

     @
     depends on !(file in "net")
     disable optional_qualifier
     @
     identifier table_name != 
{watchdog_hardlockup_sysctl,iwcm_ctl_table,ucma_ctl_table,memory_allocation_profiling_sysctls,loadpin_sysctl_table};
     @@

     + const
     struct ctl_table table_name [] = { ... };

sed:
     sed --in-place \
       -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = 
\&uts_kern/" \
       kernel/utsname_sysctl.c

Reviewed-by: Song Liu <s...@kernel.org>
Acked-by: Steven Rostedt (Google) <rost...@goodmis.org> # for kernel/trace/
Reviewed-by: Martin K. Petersen <martin.peter...@oracle.com> # SCSI
Reviewed-by: Darrick J. Wong <djw...@kernel.org> # xfs
Acked-by: Jani Nikula <jani.nik...@intel.com>
Acked-by: Corey Minyard <cminy...@mvista.com>
Signed-off-by: Joel Granados <joel.grana...@kernel.org>

For the apparmor bit
Acked-by: John Johansen <john.johan...@canonical.com>


Reply via email to