* Re: [uml-devel] possible um l bug
[not found] <E1FsiSR-0003HP-OO@sc8-sf-web5.sourceforge.net>
@ 2006-06-25 15:55 ` Blaisorblade
0 siblings, 0 replies; only message in thread
From: Blaisorblade @ 2006-06-25 15:55 UTC (permalink / raw)
To: Jonathan; +Cc: Jeff Dike, user-mode-linux-devel
On Tuesday 20 June 2006 17:48, Jonathan wrote:
> Message body follows:
> I am using user-mode linux on 2.6.16.18
> I my .config everything is resident except some NFS
>> CONFIG_NFS_FS=m
> CONFIG_NFS_V3=y
> CONFIG_NFS_V3_ACL=y
> CONFIG_NFS_V4=y
> CONFIG_NFS_DIRECTIO=y
>> CONFIG_NFSD=m
> CONFIG_NFSD_V2_ACL=y
> CONFIG_NFSD_V3=y
> CONFIG_NFSD_V3_ACL=y
> CONFIG_NFSD_V4=y
> CONFIG_NFSD_TCP=y
>> CONFIG_NFS_ACL_SUPPORT=m
> CONFIG_NFS_COMMON=y
> CONFIG_NCPFS_NFS_NS=y
> This is compiled with -mcmodel=kernel
No, on x86_64 it is, but not on UML, because UML has a bug (totally forgot
this). After analisying deeply the bug (below) I checked this very basic
assertion, and found that a patch is needed. Please recompile and retest
without the patch (to make sure it's repeatable and not showing up randomly)
and with the patch (to make sure it's a sufficient fix; without the first
test this wouldn't be a perfect proof about patch validity). Do a make clean
before the 1st compile (the one without the patch); kbuild is smart enough to
recompile everything when it sees flags have changed.
Jeff, please merge this, after Jonathan response, even for 2.6.17-stable.
> [root@localhost ~]# service rpcidmapd start
> Starting RPC idmapd: [42949986.800000] overflow in
> relocation type 11 val 80b85e70 loc = 80b85e70
> [42949986.800000] `sunrpc' likely not compiled with
> FATAL: Error inserting sunrpc
> (/lib/modules/2.6.16.18/kernel/net/sunrpc/sunrpc.ko):
> Invalid module format
> FATAL: Error running install command for sunrpc
> I track this down and find the message comes from the kernel in
> ./arch/um/sys-x86_64/module.c
For what I can see here, that file is a symlink from x86_64 code.
> case R_X86_64_32S:
> *(s32 *)loc = val;
> if ((s64)val != *(s32 *)loc)
> goto overflow;
> break;
> case R_X86_64_PC32:
> val -= (u64)loc;
> *(u32 *)loc = val;
> #if 0
> if ((s64)val != *(s32 *)loc)
> goto overflow;
> #endif
> break;
> default:
> printk(KERN_ERR "module %s: Unknown
> rela relocation: %Lu\n",
> me->name,
> ELF64_R_TYPE(rel[i].r_info));
> return -ENOEXEC;
> }
> }
> return 0;
>
> overflow:
> printk(KERN_ERR "overflow in relocation type %d val
> %Lx loc = %x\n",
> (int)ELF64_R_TYPE(rel[i].r_info), val,*(u32
> *)loc);
You're wrong in printing loc as u32. It's a s32 value. However your analisys
is correct.
> printk(KERN_ERR "`%s' likely not compiled with
> -mcmodel=kernel\n",
> me->name);
> return -ENOEXEC;
> }
>
> Note I added to one printk so I could find out what actually
> is happening.
>
> Where R_X86_64_32S has the value 11,
>
>
> From the first error message printed on the console
>
> Starting RPC idmapd: [42949986.800000] overflow in
> relocation type 11 val 80b85e70 loc = 80b85e70
>
> Both loc and val are appear equal (one is a 64 bit signed
> and one is a 32 bit signed, one would be
> negative and one positive, and that why they are not equal)
Yes, the analisys seems almost correct. I.e. the positive but > 2G signed
address kept in the 64bit var is converted to a negative one with the same
representation. However, if the value is supposed to be an address it's very
strange since
> is this a bug, that only happens in uml?
It's not uml-only related as the code is x86_64.
--
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
Chiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-06-25 15:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <E1FsiSR-0003HP-OO@sc8-sf-web5.sourceforge.net>
2006-06-25 15:55 ` [uml-devel] possible um l bug Blaisorblade
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.