The following changes since commit 861deac3b092f37b2c5e6871732f3e11486f7082: Linux 6.7-rc7 (2023-12-23 16:25:56 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/ tags/sysctl-6.8-rc1 for you to fetch changes up to 561429807d50aad76f1205b0b1d7b4aacf365d4e: sysctl: remove struct ctl_path (2023-12-28 05:02:42 -0800) This has all been tested on linux-next for over a month. I failed to include that in the signed message. Joel -- just at note, be sure to include how much testing is done on each future pull request too :) ---------------------------------------------------------------- sysctl-6.8-rc1 To help make the move of sysctls out of kernel/sysctl.c not incur a size penalty sysctl has been changed to allow us to not require the sentinel, the final empty element on the sysctl array. Joel Granados has been doing all this work. On the v6.6 kernel we got the major infrastructure changes required to support this. For v6.7 we had all arch/ and drivers/ modified to remove the sentinel. For v6.8-rc1 we get a few more updates for fs/ directory only. The kernel/ directory is left but we'll save that for v6.9-rc1 as those patches are still being reviewed. After that we then can expect also the removal of the no longer needed check for procname == NULL. Let us recap the purpose of this work: - this helps reduce the overall build time size of the kernel and run time memory consumed by the kernel by about ~64 bytes per array - the extra 64-byte penalty is no longer inncurred now when we move sysctls out from kernel/sysctl.c to their own files Thomas Weißschuh also sent a few cleanups, for v6.9-rc1 we expect to see further work by Thomas Weißschuh with the constificatin of the struct ctl_table. Due to Joel Granados's work, and to help bring in new blood, I have suggested for him to become a maintainer and he's accepted. So for v6.9-rc1 I look forward to seeing him sent you a pull request for further sysctl changes. This also removes Iurii Zaikin as a maintainer as he has moved on to other projects and has had no time to help at all. ---------------------------------------------------------------- Joel Granados (7): sysctl: Fix out of bounds access for empty sysctl registers sysctl: Add a selftest for handling empty dirs sysclt: Clarify the results of selftest run cachefiles: Remove the now superfluous sentinel element from ctl_table array fs: Remove the now superfluous sentinel elements from ctl_table array sysctl: Remove the now superfluous sentinel elements from ctl_table array coda: Remove the now superfluous sentinel elements from ctl_table array Luis Chamberlain (2): MAINTAINERS: remove Iurii Zaikin from proc sysctl MAINTAINERS: Add Joel Granados as co-maintainer for proc sysctl Thomas Weißschuh (2): sysctl: delete unused define SYSCTL_PERM_EMPTY_DIR sysctl: remove struct ctl_path MAINTAINERS | 2 +- fs/aio.c | 1 - fs/cachefiles/error_inject.c | 1 - fs/coda/sysctl.c | 1 - fs/coredump.c | 1 - fs/dcache.c | 1 - fs/devpts/inode.c | 1 - fs/eventpoll.c | 1 - fs/exec.c | 1 - fs/file_table.c | 1 - fs/inode.c | 1 - fs/lockd/svc.c | 1 - fs/locks.c | 1 - fs/namei.c | 1 - fs/namespace.c | 1 - fs/nfs/nfs4sysctl.c | 1 - fs/nfs/sysctl.c | 1 - fs/notify/dnotify/dnotify.c | 1 - fs/notify/fanotify/fanotify_user.c | 1 - fs/notify/inotify/inotify_user.c | 1 - fs/ntfs/sysctl.c | 1 - fs/ocfs2/stackglue.c | 1 - fs/pipe.c | 1 - fs/proc/proc_sysctl.c | 10 ++- fs/quota/dquot.c | 1 - fs/sysctls.c | 1 - fs/userfaultfd.c | 1 - fs/verity/init.c | 1 - fs/xfs/xfs_sysctl.c | 2 - include/linux/sysctl.h | 7 -- lib/test_sysctl.c | 31 ++++++- tools/testing/selftests/sysctl/sysctl.sh | 146 ++++++++++++++++++------------- 32 files changed, 122 insertions(+), 102 deletions(-)