diff options
Diffstat (limited to 'arch/mips/kernel/module.c')
| -rw-r--r-- | arch/mips/kernel/module.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c index 3e9100dcc12d..6f51dda87fce 100644 --- a/arch/mips/kernel/module.c +++ b/arch/mips/kernel/module.c | |||
| @@ -98,7 +98,8 @@ static int apply_r_mips_32_rela(struct module *me, u32 *location, Elf_Addr v) | |||
| 98 | static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v) | 98 | static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v) |
| 99 | { | 99 | { |
| 100 | if (v % 4) { | 100 | if (v % 4) { |
| 101 | printk(KERN_ERR "module %s: dangerous relocation\n", me->name); | 101 | pr_err("module %s: dangerous R_MIPS_26 REL relocation\n", |
| 102 | me->name); | ||
| 102 | return -ENOEXEC; | 103 | return -ENOEXEC; |
| 103 | } | 104 | } |
| 104 | 105 | ||
| @@ -118,7 +119,8 @@ static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v) | |||
| 118 | static int apply_r_mips_26_rela(struct module *me, u32 *location, Elf_Addr v) | 119 | static int apply_r_mips_26_rela(struct module *me, u32 *location, Elf_Addr v) |
| 119 | { | 120 | { |
| 120 | if (v % 4) { | 121 | if (v % 4) { |
| 121 | printk(KERN_ERR "module %s: dangerous relocation\n", me->name); | 122 | pr_err("module %s: dangerous R_MIPS_26 RELArelocation\n", |
| 123 | me->name); | ||
| 122 | return -ENOEXEC; | 124 | return -ENOEXEC; |
| 123 | } | 125 | } |
| 124 | 126 | ||
| @@ -222,7 +224,7 @@ static int apply_r_mips_lo16_rel(struct module *me, u32 *location, Elf_Addr v) | |||
| 222 | return 0; | 224 | return 0; |
| 223 | 225 | ||
| 224 | out_danger: | 226 | out_danger: |
| 225 | printk(KERN_ERR "module %s: dangerous " "relocation\n", me->name); | 227 | pr_err("module %s: dangerous R_MIPS_LO16 REL relocation\n", me->name); |
| 226 | 228 | ||
| 227 | return -ENOEXEC; | 229 | return -ENOEXEC; |
| 228 | } | 230 | } |
| @@ -301,7 +303,7 @@ int apply_relocate(Elf_Shdr *sechdrs, const char *strtab, | |||
| 301 | /* This is the symbol it is referring to */ | 303 | /* This is the symbol it is referring to */ |
| 302 | sym = (Elf_Sym *)sechdrs[symindex].sh_addr | 304 | sym = (Elf_Sym *)sechdrs[symindex].sh_addr |
| 303 | + ELF_MIPS_R_SYM(rel[i]); | 305 | + ELF_MIPS_R_SYM(rel[i]); |
| 304 | if (!sym->st_value) { | 306 | if (IS_ERR_VALUE(sym->st_value)) { |
| 305 | /* Ignore unresolved weak symbol */ | 307 | /* Ignore unresolved weak symbol */ |
| 306 | if (ELF_ST_BIND(sym->st_info) == STB_WEAK) | 308 | if (ELF_ST_BIND(sym->st_info) == STB_WEAK) |
| 307 | continue; | 309 | continue; |
| @@ -341,7 +343,7 @@ int apply_relocate_add(Elf_Shdr *sechdrs, const char *strtab, | |||
| 341 | /* This is the symbol it is referring to */ | 343 | /* This is the symbol it is referring to */ |
| 342 | sym = (Elf_Sym *)sechdrs[symindex].sh_addr | 344 | sym = (Elf_Sym *)sechdrs[symindex].sh_addr |
| 343 | + ELF_MIPS_R_SYM(rel[i]); | 345 | + ELF_MIPS_R_SYM(rel[i]); |
| 344 | if (!sym->st_value) { | 346 | if (IS_ERR_VALUE(sym->st_value)) { |
| 345 | /* Ignore unresolved weak symbol */ | 347 | /* Ignore unresolved weak symbol */ |
| 346 | if (ELF_ST_BIND(sym->st_info) == STB_WEAK) | 348 | if (ELF_ST_BIND(sym->st_info) == STB_WEAK) |
| 347 | continue; | 349 | continue; |
