mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
whitespace fixes: module loading
Signed-off-by: Daniel Walker <dwalker@mvista.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
23ff444024
commit
22a8bdeb53
@ -105,7 +105,7 @@ void __module_put_and_exit(struct module *mod, long code)
|
|||||||
do_exit(code);
|
do_exit(code);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__module_put_and_exit);
|
EXPORT_SYMBOL(__module_put_and_exit);
|
||||||
|
|
||||||
/* Find a module section: 0 means not found. */
|
/* Find a module section: 0 means not found. */
|
||||||
static unsigned int find_sec(Elf_Ehdr *hdr,
|
static unsigned int find_sec(Elf_Ehdr *hdr,
|
||||||
Elf_Shdr *sechdrs,
|
Elf_Shdr *sechdrs,
|
||||||
@ -179,7 +179,7 @@ static unsigned long __find_symbol(const char *name,
|
|||||||
struct module *mod;
|
struct module *mod;
|
||||||
const struct kernel_symbol *ks;
|
const struct kernel_symbol *ks;
|
||||||
|
|
||||||
/* Core kernel first. */
|
/* Core kernel first. */
|
||||||
*owner = NULL;
|
*owner = NULL;
|
||||||
ks = lookup_symbol(name, __start___ksymtab, __stop___ksymtab);
|
ks = lookup_symbol(name, __start___ksymtab, __stop___ksymtab);
|
||||||
if (ks) {
|
if (ks) {
|
||||||
@ -231,7 +231,7 @@ static unsigned long __find_symbol(const char *name,
|
|||||||
return ks->value;
|
return ks->value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now try modules. */
|
/* Now try modules. */
|
||||||
list_for_each_entry(mod, &modules, list) {
|
list_for_each_entry(mod, &modules, list) {
|
||||||
*owner = mod;
|
*owner = mod;
|
||||||
ks = lookup_symbol(name, mod->syms, mod->syms + mod->num_syms);
|
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);
|
DEBUGP("Failed to find symbol %s\n", name);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search for module by name: must hold module_mutex. */
|
/* Search for module by name: must hold module_mutex. */
|
||||||
@ -441,7 +441,7 @@ static int percpu_modinit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
__initcall(percpu_modinit);
|
__initcall(percpu_modinit);
|
||||||
#else /* ... !CONFIG_SMP */
|
#else /* ... !CONFIG_SMP */
|
||||||
static inline void *percpu_modalloc(unsigned long size, unsigned long align,
|
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) \
|
static void free_modinfo_##field(struct module *mod) \
|
||||||
{ \
|
{ \
|
||||||
kfree(mod->field); \
|
kfree(mod->field); \
|
||||||
mod->field = NULL; \
|
mod->field = NULL; \
|
||||||
} \
|
} \
|
||||||
static struct module_attribute modinfo_##field = { \
|
static struct module_attribute modinfo_##field = { \
|
||||||
.attr = { .name = __stringify(field), .mode = 0444 }, \
|
.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_attrs *sect_attrs;
|
||||||
struct module_sect_attr *sattr;
|
struct module_sect_attr *sattr;
|
||||||
struct attribute **gattr;
|
struct attribute **gattr;
|
||||||
|
|
||||||
/* Count loaded sections and allocate structures */
|
/* Count loaded sections and allocate structures */
|
||||||
for (i = 0; i < nsect; i++)
|
for (i = 0; i < nsect; i++)
|
||||||
if (sechdrs[i].sh_flags & SHF_ALLOC)
|
if (sechdrs[i].sh_flags & SHF_ALLOC)
|
||||||
@ -1348,14 +1348,14 @@ static int verify_export_symbols(struct module *mod)
|
|||||||
const unsigned long *crc;
|
const unsigned long *crc;
|
||||||
|
|
||||||
for (i = 0; i < mod->num_syms; i++)
|
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;
|
name = mod->syms[i].name;
|
||||||
ret = -ENOEXEC;
|
ret = -ENOEXEC;
|
||||||
goto dup;
|
goto dup;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < mod->num_gpl_syms; i++)
|
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;
|
name = mod->gpl_syms[i].name;
|
||||||
ret = -ENOEXEC;
|
ret = -ENOEXEC;
|
||||||
goto dup;
|
goto dup;
|
||||||
@ -1929,7 +1929,7 @@ static struct module *load_module(void __user *umod,
|
|||||||
mod->unused_crcs = (void *)sechdrs[unusedgplcrcindex].sh_addr;
|
mod->unused_crcs = (void *)sechdrs[unusedgplcrcindex].sh_addr;
|
||||||
|
|
||||||
#ifdef CONFIG_MODVERSIONS
|
#ifdef CONFIG_MODVERSIONS
|
||||||
if ((mod->num_syms && !crcindex) ||
|
if ((mod->num_syms && !crcindex) ||
|
||||||
(mod->num_gpl_syms && !gplcrcindex) ||
|
(mod->num_gpl_syms && !gplcrcindex) ||
|
||||||
(mod->num_gpl_future_syms && !gplfuturecrcindex) ||
|
(mod->num_gpl_future_syms && !gplfuturecrcindex) ||
|
||||||
(mod->num_unused_syms && !unusedcrcindex) ||
|
(mod->num_unused_syms && !unusedcrcindex) ||
|
||||||
@ -2016,7 +2016,7 @@ static struct module *load_module(void __user *umod,
|
|||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto arch_cleanup;
|
goto arch_cleanup;
|
||||||
|
|
||||||
err = mod_sysfs_setup(mod,
|
err = mod_sysfs_setup(mod,
|
||||||
(struct kernel_param *)
|
(struct kernel_param *)
|
||||||
sechdrs[setupindex].sh_addr,
|
sechdrs[setupindex].sh_addr,
|
||||||
sechdrs[setupindex].sh_size
|
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. */
|
/* Size of section 0 is 0, so this works well if no unwind info. */
|
||||||
mod->unwind_info = unwind_add_table(mod,
|
mod->unwind_info = unwind_add_table(mod,
|
||||||
(void *)sechdrs[unwindex].sh_addr,
|
(void *)sechdrs[unwindex].sh_addr,
|
||||||
sechdrs[unwindex].sh_size);
|
sechdrs[unwindex].sh_size);
|
||||||
|
|
||||||
/* Get rid of temporary copy */
|
/* Get rid of temporary copy */
|
||||||
vfree(hdr);
|
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)
|
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] == '.');
|
&& (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 */
|
/* At worse, next value is at end of module */
|
||||||
if (within(addr, mod->module_init, mod->init_size))
|
if (within(addr, mod->module_init, mod->init_size))
|
||||||
nextval = (unsigned long)mod->module_init+mod->init_text_size;
|
nextval = (unsigned long)mod->module_init+mod->init_text_size;
|
||||||
else
|
else
|
||||||
nextval = (unsigned long)mod->module_core+mod->core_text_size;
|
nextval = (unsigned long)mod->module_core+mod->core_text_size;
|
||||||
|
|
||||||
/* Scan for closest preceeding symbol, and next symbol. (ELF
|
/* 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++) {
|
for (i = 1; i < mod->num_symtab; i++) {
|
||||||
if (mod->symtab[i].st_shndx == SHN_UNDEF)
|
if (mod->symtab[i].st_shndx == SHN_UNDEF)
|
||||||
continue;
|
continue;
|
||||||
@ -2407,7 +2407,7 @@ const struct exception_table_entry *search_module_extables(unsigned long addr)
|
|||||||
list_for_each_entry(mod, &modules, list) {
|
list_for_each_entry(mod, &modules, list) {
|
||||||
if (mod->num_exentries == 0)
|
if (mod->num_exentries == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
e = search_extable(mod->extable,
|
e = search_extable(mod->extable,
|
||||||
mod->extable + mod->num_exentries - 1,
|
mod->extable + mod->num_exentries - 1,
|
||||||
addr);
|
addr);
|
||||||
@ -2417,7 +2417,7 @@ const struct exception_table_entry *search_module_extables(unsigned long addr)
|
|||||||
preempt_enable();
|
preempt_enable();
|
||||||
|
|
||||||
/* Now, if we found one, we are running inside it now, hence
|
/* 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;
|
return e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user