<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">전하늘</b> <span dir="ltr"><<a href="mailto:allskyee@gmail.com">allskyee@gmail.com</a>></span><br>Date: Wed, Jan 18, 2012 at 11:31 PM<br>
Subject: BUGFIX : insmod fail with message "overflow in relocation type 11..." for mem=504M and above<br>To: <a href="mailto:user-mode-linux-devel@lists.sourceforge.net">user-mode-linux-devel@lists.sourceforge.net</a><br>
<br><br>I found the problem while transitioning to a 64bit machine<div><div><br><div>The problem seems to exist for physical memory <b>exceeding 504MB</b> because that is the precise limit which tips <b>VMALLOC_START </b>with MSB being 1</div>

</div></div><div><br></div><div>That would be a problem for 64bit machines since in symbol relocation function, namely <b>apply_relocate_add </b>in arch/x86/kernel/module.c:249,</div><div>evaluating <b>R_X86_64_32S </b>sign extends 64bit values</div>

<div><br></div><div>The root of the problem though, is that 
<b>VMALLOC_START </b> start is too big to begin with since <b>START </b>is too big in <b><u><i>Makefile-x86_64 </i></u></b></div><div><b><u><i><br></i></u></b></div><div>Changing to a smaller value, like say 0x8048000 used for i386 machines seems to do the trick</div>

<div><br></div><div>Any reason it was 0x60000000 ??</div>
</div><br>