diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-08-04 18:49:11 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-08-04 18:49:11 -0400 |
| commit | 90bc1a658a53f8832ee799685703977a450e5af9 (patch) | |
| tree | 98c5ceb22d634508614e42330ed1e27e6930a983 /arch/mips/kernel/module.c | |
| parent | 6ce90c430baef6e411dcf32e872913888bb3ef54 (diff) | |
| parent | 54822de7793bf9aa56d79cc173281cdb23b37f9f (diff) | |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (32 commits)
MIPS: Wire up accept4 syscall.
MIPS: VPE: Delete unused function get_tc_unused().
MIPS: VPE: Fix bogus indentation.
MIPS: VPE: Make various functions static.
MIPS: VPE: Free relocation chain on error.
MIPS: VPE: Fix compiler warning.
MIPS: Module: Make error messages unique.
MIPS: Octeon: Run IPI code with interrupts disabled.
MIPS: Jazz: Fix read buffer overflow
MIPS: Use DIV_ROUND_CLOSEST
MIPS: MTX-1: Request button GPIO before setting its direction
MIPS: AR7: Override CFLAGS with -Werror
MIPS: AR7: Remove unused tnetd7200_get_clock function
MIPS: AR7: Use DMA_BIT_MASK(nn) instead of deprecated DMA_nnBIT_MASK
MIPS: AR7: Fix build failures when CONFIG_SERIAL_8250 is not enabled
MIPS: Fix read buffer overflow
MIPS: AR7: Fix build warning on memory.c
MIPS: Octeon PCIe: Make hardware and software bus numbers match.
MIPS: RBTX4939: Fix IOC pin-enable register updating
MIPS: Simplify and correct interrupt handling for MSP4200
...
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; |
