diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-03 19:12:27 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-03 19:12:27 -0700 |
commit | a1be8edda4fe1f0a75007f26000a51436800869d (patch) | |
tree | 69ecbeda52cfa375431de08e9dcfbcede4ed4883 | |
parent | 4c174688ee92805aa5df6e06e5b625a3286e415c (diff) | |
parent | 17586188276980ff10d1244a35aeb31ae199705e (diff) | |
download | op-kernel-dev-a1be8edda4fe1f0a75007f26000a51436800869d.zip op-kernel-dev-a1be8edda4fe1f0a75007f26000a51436800869d.tar.gz |
Merge tag 'modules-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux
Pull modules updates from Jessica Yu:
- Minor code cleanups
- Fix section alignment for .init_array
* tag 'modules-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
kallsyms: Use bounded strnchr() when parsing string
module: Unify the return value type of try_module_get
module: set .init_array alignment to 8
-rw-r--r-- | include/linux/module.h | 6 | ||||
-rw-r--r-- | kernel/module.c | 2 | ||||
-rw-r--r-- | scripts/module-common.lds | 3 |
3 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/module.h b/include/linux/module.h index 9ad6856..21f5639 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -583,7 +583,7 @@ extern bool try_module_get(struct module *module); extern void module_put(struct module *module); #else /*!CONFIG_MODULE_UNLOAD*/ -static inline int try_module_get(struct module *module) +static inline bool try_module_get(struct module *module) { return !module || module_is_live(module); } @@ -680,9 +680,9 @@ static inline void __module_get(struct module *module) { } -static inline int try_module_get(struct module *module) +static inline bool try_module_get(struct module *module) { - return 1; + return true; } static inline void module_put(struct module *module) diff --git a/kernel/module.c b/kernel/module.c index 6332195..f37308b 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -4035,7 +4035,7 @@ unsigned long module_kallsyms_lookup_name(const char *name) /* Don't lock: we're in enough trouble already. */ preempt_disable(); - if ((colon = strchr(name, ':')) != NULL) { + if ((colon = strnchr(name, MODULE_NAME_LEN, ':')) != NULL) { if ((mod = find_module_all(name, colon - name, false)) != NULL) ret = mod_find_symname(mod, colon+1); } else { diff --git a/scripts/module-common.lds b/scripts/module-common.lds index 9b6e246..d61b9e8 100644 --- a/scripts/module-common.lds +++ b/scripts/module-common.lds @@ -20,8 +20,7 @@ SECTIONS { __kcrctab_unused_gpl 0 : { *(SORT(___kcrctab_unused_gpl+*)) } __kcrctab_gpl_future 0 : { *(SORT(___kcrctab_gpl_future+*)) } - . = ALIGN(8); - .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } + .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) } __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } } |