[GIT PULL] sysctl changes for v6.11-rc1

From: Joel Granados
Date: Tue Jul 16 2024 - 10:17:19 EST


Linus

Note: I have update the capabilities in my signing key. I don't think
anything changes on your side, but thought I'd mention it for good
measure. Pulling from https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git
would probably solve any unforeseen issues.

The following changes since commit c3f38fa61af77b49866b006939479069cd451173:

Linux 6.10-rc2 (2024-06-02 15:44:56 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl.git/ tags/sysctl-6.11-rc1

for you to fetch changes up to acc154691fc75e1a178fc36624bdeee1420585a4:

sysctl: Warn on an empty procname element (2024-06-13 10:50:52 +0200)

----------------------------------------------------------------
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

----------------------------------------------------------------
Jeff Johnson (1):
sysctl: Add module description to sysctl-testing

Joel Granados (8):
locking: Remove superfluous sentinel element from kern_lockdep_table
mm profiling: Remove superfluous sentinel element from ctl_table
sysctl: Remove check for sentinel element in ctl_table arrays
sysctl: Replace nr_entries with ctl_table_size in new_links
sysctl: Remove superfluous empty allocations from sysctl internals
sysctl: Remove "child" sysctl code comments
sysctl: Remove ctl_table sentinel code comments
sysctl: Warn on an empty procname element

Thomas Weißschuh (3):
sysctl: always initialize i_uid/i_gid
utsname: constify ctl_table arguments of utility function
sysctl: constify ctl_table arguments of utility function

Wen Yang (1):
sysctl: move the extra1/2 boundary check of u8 to sysctl_check_table_array

fs/proc/proc_sysctl.c | 70 ++++++++++++++++++++++++++----------------------
include/linux/sysctl.h | 2 +-
kernel/locking/lockdep.c | 1 -
kernel/sysctl-test.c | 50 ++++++++++++++++++++++++++++++++++
kernel/sysctl.c | 31 +++++++++------------
kernel/utsname_sysctl.c | 2 +-
lib/alloc_tag.c | 1 -
net/sysctl_net.c | 11 ++------
8 files changed, 105 insertions(+), 63 deletions(-)

--

Joel Granados