Skip to content

Commit 861dc0b

Browse files
committed
sysctl: move umh sysctl registration to its own file
Move the umh sysctl registration to its own file, the array is already there. We do this to remove the clutter out of kernel/sysctl.c to avoid merge conflicts. This also lets the sysctls not be built at all now when CONFIG_SYSCTL is not enabled. This has a small penalty of 23 bytes but soon we'll be removing all the empty entries on sysctl arrays so just do this cleanup now: ./scripts/bloat-o-meter vmlinux.base vmlinux.1 add/remove: 2/0 grow/shrink: 0/1 up/down: 49/-26 (23) Function old new delta init_umh_sysctls - 33 +33 __pfx_init_umh_sysctls - 16 +16 sysctl_init_bases 111 85 -26 Total: Before=21256914, After=21256937, chg +0.00% Acked-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
1 parent 01e6aac commit 861dc0b

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

include/linux/umh.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ call_usermodehelper_setup(const char *path, char **argv, char **envp,
4242
extern int
4343
call_usermodehelper_exec(struct subprocess_info *info, int wait);
4444

45-
extern struct ctl_table usermodehelper_table[];
46-
4745
enum umh_disable_depth {
4846
UMH_ENABLED = 0,
4947
UMH_FREEZING,

kernel/sysctl.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2322,7 +2322,6 @@ static struct ctl_table vm_table[] = {
23222322
int __init sysctl_init_bases(void)
23232323
{
23242324
register_sysctl_init("kernel", kern_table);
2325-
register_sysctl_init("kernel/usermodehelper", usermodehelper_table);
23262325
#ifdef CONFIG_KEYS
23272326
register_sysctl_init("kernel/keys", key_sysctls);
23282327
#endif

kernel/umh.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,8 @@ static int proc_cap_handler(struct ctl_table *table, int write,
544544
return 0;
545545
}
546546

547-
struct ctl_table usermodehelper_table[] = {
547+
#if defined(CONFIG_SYSCTL)
548+
static struct ctl_table usermodehelper_table[] = {
548549
{
549550
.procname = "bset",
550551
.data = &usermodehelper_bset,
@@ -561,3 +562,11 @@ struct ctl_table usermodehelper_table[] = {
561562
},
562563
{ }
563564
};
565+
566+
static int __init init_umh_sysctls(void)
567+
{
568+
register_sysctl_init("kernel/usermodehelper", usermodehelper_table);
569+
return 0;
570+
}
571+
early_initcall(init_umh_sysctls);
572+
#endif /* CONFIG_SYSCTL */

0 commit comments

Comments
 (0)