sysctl changes for v6.10-rc1

Summary
* Removed sentinel elements from ctl_table structs in kernel/*

  Removing sentinels in ctl_table arrays reduces the build time size and
  runtime memory consumed by ~64 bytes per array. Removals for net/, io_uring/,
  mm/, ipc/ and security/ are set to go into mainline through their respective
  subsystems making the next release the most likely place where the final
  series that removes the check for proc_name == NULL will land. This PR adds
  to removals already in arch/, drivers/ and fs/.

* Adjusted ctl_table definitions and references to allow constification

  Adjustments:
    - Removing unused ctl_table function arguments
    - Moving non-const elements from ctl_table to ctl_table_header
    - Making ctl_table pointers const in ctl_table_root structure

  Making the static ctl_table structs const will increase safety by keeping the
  pointers to proc_handler functions in .rodata. Though no ctl_tables where
  made const in this PR, the ground work for making that possible has started
  with these changes sent by Thomas Weißschuh.

Testing
* These changes went into linux-next after v6.9-rc4; giving it a good month of
  testing.
sysctl: drop now unnecessary out-of-bounds check

Remove the now unneeded check for ctl_table_size; it is safe
to do so as sysctl_set_perm_empty_ctl_header() does not access the
ctl_table member anymore.

This also makes the element of sysctl_mount_point unnecessary, so drop
it at the same time.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Joel Granados <j.granados@samsung.com>
1 file changed