lkml.org 
[lkml]   [2010]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] Modules: x86_64 - R_X86_64_PC32 gives signed 32 bit and needs overflow check.
Date
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",

\
 
 \ /
  Last update: 2010-10-29 19:35    [W:0.080 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site