Messages in this thread Patch in this message | | | From | Nikanth Karthikesan <> | Subject | [PATCH] Modules: x86_64 - R_X86_64_PC32 gives signed 32 bit and needs overflow check. | Date | Fri, 29 Oct 2010 20:37:32 +0530 |
| |
R_X86_64_PC32 gives signed 32 bit and needs overflow check.
Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>
---
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index 8f29560..59b859a 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c @@ -168,11 +168,9 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, break; case R_X86_64_PC32: val -= (u64)loc; - *(u32 *)loc = val; -#if 0 + *(s32 *)loc = val; if ((s64)val != *(s32 *)loc) goto overflow; -#endif break; default: printk(KERN_ERR "module %s: Unknown rela relocation: %llu\n",
| |