|
@@ -105,7 +105,7 @@ void __module_put_and_exit(struct module *mod, long code)
|
|
|
do_exit(code);
|
|
|
}
|
|
|
EXPORT_SYMBOL(__module_put_and_exit);
|
|
|
-
|
|
|
+
|
|
|
/* Find a module section: 0 means not found. */
|
|
|
static unsigned int find_sec(Elf_Ehdr *hdr,
|
|
|
Elf_Shdr *sechdrs,
|
|
@@ -179,7 +179,7 @@ static unsigned long __find_symbol(const char *name,
|
|
|
struct module *mod;
|
|
|
const struct kernel_symbol *ks;
|
|
|
|
|
|
- /* Core kernel first. */
|
|
|
+ /* Core kernel first. */
|
|
|
*owner = NULL;
|
|
|
ks = lookup_symbol(name, __start___ksymtab, __stop___ksymtab);
|
|
|
if (ks) {
|
|
@@ -231,7 +231,7 @@ static unsigned long __find_symbol(const char *name,
|
|
|
return ks->value;
|
|
|
}
|
|
|
|
|
|
- /* Now try modules. */
|
|
|
+ /* Now try modules. */
|
|
|
list_for_each_entry(mod, &modules, list) {
|
|
|
*owner = mod;
|
|
|
ks = lookup_symbol(name, mod->syms, mod->syms + mod->num_syms);
|
|
@@ -285,7 +285,7 @@ static unsigned long __find_symbol(const char *name,
|
|
|
}
|
|
|
}
|
|
|
DEBUGP("Failed to find symbol %s\n", name);
|
|
|
- return 0;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
/* Search for module by name: must hold module_mutex. */
|
|
@@ -441,7 +441,7 @@ static int percpu_modinit(void)
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
-}
|
|
|
+}
|
|
|
__initcall(percpu_modinit);
|
|
|
#else /* ... !CONFIG_SMP */
|
|
|
static inline void *percpu_modalloc(unsigned long size, unsigned long align,
|
|
@@ -483,8 +483,8 @@ static int modinfo_##field##_exists(struct module *mod) \
|
|
|
} \
|
|
|
static void free_modinfo_##field(struct module *mod) \
|
|
|
{ \
|
|
|
- kfree(mod->field); \
|
|
|
- mod->field = NULL; \
|
|
|
+ kfree(mod->field); \
|
|
|
+ mod->field = NULL; \
|
|
|
} \
|
|
|
static struct module_attribute modinfo_##field = { \
|
|
|
.attr = { .name = __stringify(field), .mode = 0444 }, \
|
|
@@ -990,7 +990,7 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect,
|
|
|
struct module_sect_attrs *sect_attrs;
|
|
|
struct module_sect_attr *sattr;
|
|
|
struct attribute **gattr;
|
|
|
-
|
|
|
+
|
|
|
/* Count loaded sections and allocate structures */
|
|
|
for (i = 0; i < nsect; i++)
|
|
|
if (sechdrs[i].sh_flags & SHF_ALLOC)
|
|
@@ -1348,14 +1348,14 @@ static int verify_export_symbols(struct module *mod)
|
|
|
const unsigned long *crc;
|
|
|
|
|
|
for (i = 0; i < mod->num_syms; i++)
|
|
|
- if (__find_symbol(mod->syms[i].name, &owner, &crc, 1)) {
|
|
|
+ if (__find_symbol(mod->syms[i].name, &owner, &crc, 1)) {
|
|
|
name = mod->syms[i].name;
|
|
|
ret = -ENOEXEC;
|
|
|
goto dup;
|
|
|
}
|
|
|
|
|
|
for (i = 0; i < mod->num_gpl_syms; i++)
|
|
|
- if (__find_symbol(mod->gpl_syms[i].name, &owner, &crc, 1)) {
|
|
|
+ if (__find_symbol(mod->gpl_syms[i].name, &owner, &crc, 1)) {
|
|
|
name = mod->gpl_syms[i].name;
|
|
|
ret = -ENOEXEC;
|
|
|
goto dup;
|
|
@@ -1929,7 +1929,7 @@ static struct module *load_module(void __user *umod,
|
|
|
mod->unused_crcs = (void *)sechdrs[unusedgplcrcindex].sh_addr;
|
|
|
|
|
|
#ifdef CONFIG_MODVERSIONS
|
|
|
- if ((mod->num_syms && !crcindex) ||
|
|
|
+ if ((mod->num_syms && !crcindex) ||
|
|
|
(mod->num_gpl_syms && !gplcrcindex) ||
|
|
|
(mod->num_gpl_future_syms && !gplfuturecrcindex) ||
|
|
|
(mod->num_unused_syms && !unusedcrcindex) ||
|
|
@@ -2016,7 +2016,7 @@ static struct module *load_module(void __user *umod,
|
|
|
if (err < 0)
|
|
|
goto arch_cleanup;
|
|
|
|
|
|
- err = mod_sysfs_setup(mod,
|
|
|
+ err = mod_sysfs_setup(mod,
|
|
|
(struct kernel_param *)
|
|
|
sechdrs[setupindex].sh_addr,
|
|
|
sechdrs[setupindex].sh_size
|
|
@@ -2028,8 +2028,8 @@ static struct module *load_module(void __user *umod,
|
|
|
|
|
|
/* Size of section 0 is 0, so this works well if no unwind info. */
|
|
|
mod->unwind_info = unwind_add_table(mod,
|
|
|
- (void *)sechdrs[unwindex].sh_addr,
|
|
|
- sechdrs[unwindex].sh_size);
|
|
|
+ (void *)sechdrs[unwindex].sh_addr,
|
|
|
+ sechdrs[unwindex].sh_size);
|
|
|
|
|
|
/* Get rid of temporary copy */
|
|
|
vfree(hdr);
|
|
@@ -2146,7 +2146,7 @@ static inline int within(unsigned long addr, void *start, unsigned long size)
|
|
|
*/
|
|
|
static inline int is_arm_mapping_symbol(const char *str)
|
|
|
{
|
|
|
- return str[0] == '$' && strchr("atd", str[1])
|
|
|
+ return str[0] == '$' && strchr("atd", str[1])
|
|
|
&& (str[2] == '\0' || str[2] == '.');
|
|
|
}
|
|
|
|
|
@@ -2161,11 +2161,11 @@ static const char *get_ksymbol(struct module *mod,
|
|
|
/* At worse, next value is at end of module */
|
|
|
if (within(addr, mod->module_init, mod->init_size))
|
|
|
nextval = (unsigned long)mod->module_init+mod->init_text_size;
|
|
|
- else
|
|
|
+ else
|
|
|
nextval = (unsigned long)mod->module_core+mod->core_text_size;
|
|
|
|
|
|
/* Scan for closest preceeding symbol, and next symbol. (ELF
|
|
|
- starts real symbols at 1). */
|
|
|
+ starts real symbols at 1). */
|
|
|
for (i = 1; i < mod->num_symtab; i++) {
|
|
|
if (mod->symtab[i].st_shndx == SHN_UNDEF)
|
|
|
continue;
|
|
@@ -2407,7 +2407,7 @@ const struct exception_table_entry *search_module_extables(unsigned long addr)
|
|
|
list_for_each_entry(mod, &modules, list) {
|
|
|
if (mod->num_exentries == 0)
|
|
|
continue;
|
|
|
-
|
|
|
+
|
|
|
e = search_extable(mod->extable,
|
|
|
mod->extable + mod->num_exentries - 1,
|
|
|
addr);
|
|
@@ -2417,7 +2417,7 @@ const struct exception_table_entry *search_module_extables(unsigned long addr)
|
|
|
preempt_enable();
|
|
|
|
|
|
/* Now, if we found one, we are running inside it now, hence
|
|
|
- we cannot unload the module, hence no refcnt needed. */
|
|
|
+ we cannot unload the module, hence no refcnt needed. */
|
|
|
return e;
|
|
|
}
|
|
|
|