Skip to content

Commit

Permalink
sysctl: move security keys sysctl registration to its own file
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Jarkko Sakkinen <[email protected]>
Acked-by: David Howells <[email protected]>
Signed-off-by: Luis Chamberlain <[email protected]>
  • Loading branch information
mcgrof committed Jun 8, 2023
1 parent 861dc0b commit 28898e2
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
3 changes: 0 additions & 3 deletions include/linux/key.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down
4 changes: 0 additions & 4 deletions kernel/sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
7 changes: 7 additions & 0 deletions security/keys/sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

0 comments on commit 28898e2

Please sign in to comment.