diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2017-10-01 16:37:54 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2017-10-01 16:37:54 +0000 |
commit | 550374efe620fac25d9504fcaafd00adec5d9ee5 (patch) | |
tree | 68705a8066e12399b583f13fdf33f05c1f37b33b /sys/kern/kern_linker.c | |
parent | 7d5c6491f0665f36741c82effc23c9dd684d4041 (diff) | |
download | src-550374efe620fac25d9504fcaafd00adec5d9ee5.tar.gz src-550374efe620fac25d9504fcaafd00adec5d9ee5.zip |
revert r324166, it has an unrelated change in it
Notes
Notes:
svn path=/head/; revision=324167
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r-- | sys/kern/kern_linker.c | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index fc9c8fb33cd7..06cd3c0a5750 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -288,7 +288,7 @@ linker_file_sysuninit(linker_file_t lf) } static void -linker_file_register_sysctls(linker_file_t lf, bool enable) +linker_file_register_sysctls(linker_file_t lf) { struct sysctl_oid **start, **stop, **oidp; @@ -303,34 +303,8 @@ linker_file_register_sysctls(linker_file_t lf, bool enable) sx_xunlock(&kld_sx); sysctl_wlock(); - for (oidp = start; oidp < stop; oidp++) { - if (enable) - sysctl_register_oid(*oidp); - else - sysctl_register_disabled_oid(*oidp); - } - sysctl_wunlock(); - sx_xlock(&kld_sx); -} - -static void -linker_file_enable_sysctls(linker_file_t lf) -{ - struct sysctl_oid **start, **stop, **oidp; - - KLD_DPF(FILE, - ("linker_file_enable_sysctls: enable SYSCTLs for %s\n", - lf->filename)); - - sx_assert(&kld_sx, SA_XLOCKED); - - if (linker_file_lookup_set(lf, "sysctl_set", &start, &stop, NULL) != 0) - return; - - sx_xunlock(&kld_sx); - sysctl_wlock(); for (oidp = start; oidp < stop; oidp++) - sysctl_enable_oid(*oidp); + sysctl_register_oid(*oidp); sysctl_wunlock(); sx_xlock(&kld_sx); } @@ -456,9 +430,8 @@ linker_load_file(const char *filename, linker_file_t *result) return (error); } modules = !TAILQ_EMPTY(&lf->modules); - linker_file_register_sysctls(lf, false); + linker_file_register_sysctls(lf); linker_file_sysinit(lf); - linker_file_enable_sysctls(lf); lf->flags |= LINKER_FILE_LINKED; /* @@ -719,8 +692,8 @@ linker_file_unload(linker_file_t file, int flags) */ if (file->flags & LINKER_FILE_LINKED) { file->flags &= ~LINKER_FILE_LINKED; - linker_file_unregister_sysctls(file); linker_file_sysuninit(file); + linker_file_unregister_sysctls(file); } TAILQ_REMOVE(&linker_files, file, link); @@ -1669,7 +1642,7 @@ restart: if (linker_file_lookup_set(lf, "sysinit_set", &si_start, &si_stop, NULL) == 0) sysinit_add(si_start, si_stop); - linker_file_register_sysctls(lf, true); + linker_file_register_sysctls(lf); lf->flags |= LINKER_FILE_LINKED; continue; fail: |