sysctl changes for 6.11-rc1

Summary

* Remove "->procname == NULL" check when iterating through sysctl table arrays

    Removing sentinels in ctl_table arrays reduces the build time size and
    runtime memory consumed by ~64 bytes per array. With all ctl_table
    sentinels gone, the additional check for ->procname == NULL that worked in
    tandem with the ARRAY_SIZE to calculate the size of the ctl_table arrays is
    no longer needed and has been removed. The sysctl register functions now
    returns an error if a sentinel is used.

* Preparation patches for sysctl constification

    Constifying ctl_table structs prevents the modification of proc_handler
    function pointers as they would reside in .rodata. The ctl_table arguments
    in sysctl utility functions are const qualified in preparation for a future
    treewide proc_handler argument constification commit.

* Misc fixes

    Increase robustness of set_ownership by providing sane default ownership
    values in case the callee doesn't set them. Bound check proc_dou8vec_minmax
    to avoid loading buggy modules and give sysctl testing module a name to
    avoid compiler complaints.

Testing

  * This got push to linux-next in v6.10-rc2, so it has had more than a month
    of testing
sysctl: Warn on an empty procname element

Add a pr_err warning in case a ctl_table is registered with a sentinel
element containing a NULL procname.

Signed-off-by: Joel Granados <j.granados@samsung.com>
1 file changed