sysctl: move security keys sysctl registration to its own file
authorLuis Chamberlain <mcgrof@kernel.org>
Sun, 28 May 2023 20:54:20 +0000 (13:54 -0700)
committerLuis Chamberlain <mcgrof@kernel.org>
Thu, 8 Jun 2023 22:42:02 +0000 (15:42 -0700)
The security keys sysctls are already declared on its own file,
just move the sysctl registration to its own file to help avoid
merge conflicts on sysctls.c, and help with clearing up sysctl.c
further.

This creates a small penalty of 23 bytes:

./scripts/bloat-o-meter vmlinux.1 vmlinux.2
add/remove: 2/0 grow/shrink: 0/1 up/down: 49/-26 (23)
Function                                     old     new   delta
init_security_keys_sysctls                     -      33     +33
__pfx_init_security_keys_sysctls               -      16     +16
sysctl_init_bases                             85      59     -26
Total: Before=21256937, After=21256960, chg +0.00%

But soon we'll be saving tons of bytes anyway, as we modify the
sysctl registrations to use ARRAY_SIZE and so we get rid of all the
empty array elements so let's just clean this up now.

Reviewed-by: Paul Moore <paul@paul-moore.com>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
include/linux/key.h
kernel/sysctl.c
security/keys/sysctl.c

index 8dc7f7c3088b9eede68c6eda026ff43b0b20b9ab..938d7ecfb495def7b3e6c5e5a7985b1b134561e7 100644 (file)
@@ -490,9 +490,6 @@ do {                                                                        \
        rcu_assign_pointer((KEY)->payload.rcu_data0, (PAYLOAD));        \
 } while (0)
 
-#ifdef CONFIG_SYSCTL
-extern struct ctl_table key_sysctls[];
-#endif
 /*
  * the userspace interface
  */
index caf4a91522a13069bda0ce0049820864ec225bef..48046932d573b136b4268772b54b98c19eb3cbf4 100644 (file)
@@ -2322,10 +2322,6 @@ static struct ctl_table vm_table[] = {
 int __init sysctl_init_bases(void)
 {
        register_sysctl_init("kernel", kern_table);
-#ifdef CONFIG_KEYS
-       register_sysctl_init("kernel/keys", key_sysctls);
-#endif
-
        register_sysctl_init("vm", vm_table);
 
        return 0;
index b46b651b3c4cc65bcb0409e9a3e3c1e74604ac9d..b72b82bb20c65e3b70e0fc3d0f6afe5c24e62376 100644 (file)
@@ -68,3 +68,10 @@ struct ctl_table key_sysctls[] = {
 #endif
        { }
 };
+
+static int __init init_security_keys_sysctls(void)
+{
+       register_sysctl_init("kernel/keys", key_sysctls);
+       return 0;
+}
+early_initcall(init_security_keys_sysctls);