summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 19:12:27 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 19:12:27 -0700
commita1be8edda4fe1f0a75007f26000a51436800869d (patch)
tree69ecbeda52cfa375431de08e9dcfbcede4ed4883
parent4c174688ee92805aa5df6e06e5b625a3286e415c (diff)
parent17586188276980ff10d1244a35aeb31ae199705e (diff)
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.h6
-rw-r--r--kernel/module.c2
-rw-r--r--scripts/module-common.lds3
3 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/module.h b/include/linux/module.h
index 9ad68561d8c2..21f56393602f 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 63321952c71c..f37308b733d8 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 9b6e246a45d0..d61b9e8678e8 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)) }
}