Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jun 2005 16:30:48 -0400
From:      Eric Millbrandt <emillbrandt@coldhaus.com>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-alpha@FreeBSD.org
Subject:   Re: Kernel trap on linux compat load
Message-ID:  <42B72778.5090009@coldhaus.com>
In-Reply-To: <200506201433.46335.jhb@FreeBSD.org>
References:  <42AA1C23.4080901@coldhaus.com> <200506170924.32120.jhb@FreeBSD.org> <42B3471D.7050608@coldhaus.com> <200506201433.46335.jhb@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
John Baldwin wrote:

>On Friday 17 June 2005 05:56 pm, Eric Millbrandt wrote:
>  
>
>>John Baldwin wrote:
>>    
>>
>>>On Thursday 16 June 2005 08:21 pm, Eric Millbrandt wrote:
>>>      
>>>
>>>>John Baldwin wrote:
>>>>        
>>>>
>>>>>On Friday 10 June 2005 07:02 pm, Eric Millbrandt wrote:
>>>>>          
>>>>>
>>>>>>I've noticed that linux compatibility caused my system to crash since I
>>>>>>upgraded from RELENG_4_9 (RELENG_4_10, RELENG_4_11, RELENG_4).  I
>>>>>>upgraded using buildworld, I haven't had a change to test using a clean
>>>>>>binary install.  Has anyone else seen this behavior?  It's easy to
>>>>>>reproduce, the system traps right on linux compatibility load.  The
>>>>>>only similar behavior I've found on google is an unanswered post
>>>>>>http://lists.freebsd.org/pipermail/freebsd-alpha/2004-June/001555.html
>>>>>>
>>>>>>Jun  8 07:18:17 mongoloid /kernel: fatal kernel trap:
>>>>>>Jun  8 07:18:17 mongoloid /kernel:
>>>>>>Jun  8 07:18:17 mongoloid /kernel: trap entry = 0x4 (unaligned access
>>>>>>fault) Jun  8 07:18:17 mongoloid /kernel: a0         =
>>>>>>0xfffffe0015285e34 Jun  8 07:18:17 mongoloid /kernel: a1         =
>>>>>>0x2d
>>>>>>Jun  8 07:18:17 mongoloid /kernel: a2         = 0x1
>>>>>>Jun  8 07:18:17 mongoloid /kernel: pc         = 0xfffffc0000386e68
>>>>>>Jun  8 07:18:17 mongoloid /kernel: ra         = 0xfffffc0000386dd8
>>>>>>Jun  8 07:18:17 mongoloid /kernel: curproc    = 0xfffffe001177e780
>>>>>>Jun  8 07:18:17 mongoloid /kernel: pid = 173, comm = ldconfig
>>>>>>Jun  8 07:18:17 mongoloid /kernel:
>>>>>>Jun  8 07:18:17 mongoloid /kernel: panic: trap
>>>>>>
>>>>>>EEM
>>>>>>            
>>>>>>
>>>>>Did you rebuild your kernel with buildkernel / installkernel?  I believe
>>>>>that buildworld on 4.x still builds and installs new modules into
>>>>>/modules including the linux and osf1 compat modules.  New modules
>>>>>aren't guaranteed to work on older kernels, so if your kernel is still
>>>>>4.9, that is probably your problem.
>>>>>          
>>>>>
>>>>I used buildworld, buildkernel, installkernel, drop to single user,
>>>>installworld, and mergemaster.  This is with linux_compat loading from
>>>>rc.conf.  I misspoke earlier loading linux.ko works fine but running a
>>>>linux binary, /compat/linux/sbin/ldconfig or sophie, causes the trap.
>>>>On a side not osf1_compat works fine.
>>>>
>>>>Here are my stack traces after running /compat/linux/sbin/ldconfig...
>>>>Debugger() at Debugger=0x2c
>>>>panic() at panic+0x100
>>>>trap() at trap+0x600
>>>>XentUna() at XentUna+0x2c
>>>>--- unaligned access fault (from ipl0) ---
>>>>kernel_sysctl at kernel_sysctl+ox1a8
>>>>347() at -0x1fffe4a63d0
>>>>Here ddb traps on itself (memory management fault)
>>>>
>>>>This one is from running sophie
>>>>Debugger() at Debugger=0x2c
>>>>panic() at panic+0x100
>>>>trap() at trap+0x600
>>>>XentUna() at XentUna+0x2c
>>>>--- unaligned access fault (from ipl0) ---
>>>>kernel_sysctl at kernel_sysctl+ox1a8
>>>>linux_newuname() at linux_newuname+0xd0
>>>>syscall() at syscal+0x224
>>>>XentSys at XentSys+0x5c
>>>>--- syscall (339, Linux ELF, linux_newuname) ---
>>>>--- user mode ---
>>>>        
>>>>
>>>Ok, this is helpful.  Can you do 'gdb kernel.debug' and then type 'list
>>>*kernel_sysctl+0x1a8'?  This will give us the source file/line that it
>>>faulted at.  Thanks!
>>>      
>>>
>>Ok here is what I found.
>>
>>(gdb) list *kernel_sysctl+0x1a8
>>0xfffffc000038e9a8 is in kernel_sysctl
>>(/usr/src/sys/kern/kern_sysctl.c:938).
>>933                     if (req.oldptr && req.oldidx > req.oldlen)
>>934                             *retval = req.oldlen;
>>935                     else
>>936                             *retval = req.oldidx;
>>937             }
>>938             return (error);
>>939     }
>>940
>>941     int
>>942     kernel_sysctlbyname(struct proc *p, char *name, void *old,
>>size_t *oldlenp,
>>    
>>
>
>Ok, try this patch please:
>
>Index: compat/linux/linux_misc.c
>===================================================================
>RCS file: /usr/cvs/src/sys/compat/linux/linux_misc.c,v
>retrieving revision 1.85.2.11
>diff -u -r1.85.2.11 linux_misc.c
>--- compat/linux/linux_misc.c   23 Mar 2004 12:16:48 -0000      1.85.2.11
>+++ compat/linux/linux_misc.c   20 Jun 2005 18:33:07 -0000
>@@ -687,7 +687,8 @@
>        struct l_new_utsname utsname;
>        char *osrelease, *osname;
>        int name[2];
>-       int error, plen, olen;
>+       int error;
>+       size_t plen, olen;
>
> #ifdef DEBUG
>        if (ldebug(newuname))
>
>  
>
Ok, I rebuilt and installed linux.ko and linux binaries appear to be 
working!  At least sophie, compiled for linux, catches viruses again.  
Let me know if you need any further testing and where you will apply the 
patch in cvs.  Thanks for the help.

[-- Attachment #2 --]
0	*H
010	+0	*H
000
	*H
010	UIL10
UIsrael10UEilat10U

StartCom Ltd.10UCA Authority Dep.1)0'U Free SSL Certification Authority1!0	*H
	admin@startcom.org0
050405144933Z
100404144933Z010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.org0"0
	*H
0
9.Ÿ7jЎDZH1,<&/նnGL
E3vj^BS[`9ɀ~Fa
CA:{]IF['TulZ\?}|m::д*l8=0)T!Sh=rY(=Y1X?24nZ7^>Fom-fa(`^>"A6]z,L1THW&
7X-0)0U00U0U܀-udFqMz0U#0ҀÖ̽2
1(d010	UIL10
UIsrael10UEilat10U

StartCom Ltd.10UCA Authority Dep.1)0'U Free SSL Certification Authority1!0	*H
	admin@startcom.org0U0admin@startcom.org0U0admin@startcom.org0	`HB0P	`HB
CAStartCom Class 1 Primary Intermediate Free SSL Email Certificates02	`HB%#http://cert.startcom.org/ca-crl.crl03	`HB&$http://cert.startcom.org/crt-crl.crl0
	*H
6]^i-zQ(3XQiCea%kfQ0A+2qs1sFԖ.tk4 nJ+ijC\t9C<ʤɦ#	֑xMAuFNo jۿ00V"0
	*H
010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.org0
050515225652Z
060515225652Z010	UUS10U	Worcester10U
Eric Millbrandt1)0'U StartCom Free Certificate Member1'0%	*H
	emillbrandt@coldhaus.com0"0
	*H
0
9<`N
[+OLy.Um?mL1ak0|WN6cVځ3)qs;2$Uݭ͘Lni;w?~|^~"$z2%
8;9
*'E o$()lI:}o8~LZ^g>\zihj1Q4"0ȖJ;.jStn.zž`BpM->AqX0T0U00U0U%0++0Uо!mAK&nI`,yq<0U#0Ҁ܀-udFqMzơ010	UIL10
UIsrael10UEilat10U

StartCom Ltd.10UCA Authority Dep.1)0'U Free SSL Certification Authority1!0	*H
	admin@startcom.org0U 0000/+#http://cert.startcom.org/policy.pdf05+)http://cert.startcom.org/intermediate.pdf0^+0R0
StartCom Ltd.0:Limited Liability, see http://cert.startcom.org/policy.pdf05U.0,0*(&$http://cert.startcom.org/crt-crl.crl0	`HB0.	`HB
!StartCom Free Email Certificate02	`HB%#http://cert.startcom.org/ca-crl.crl03	`HB&$http://cert.startcom.org/crt-crl.crl02	`HB%#http://cert.startcom.org/policy.pdf0#U0http://cert.startcom.org0
	*H
^϶nlEk"/'(5YoGJ>:Jw魽 s=4U,WIƶ"r/<5xϲvi1T#`2a#erMosCdmh>MfRP,ٸ1F
€/D!{3fv=I6gҭSEbJ؅KO1Y⺂T!FZs@j+F($S=K̽&{00V"0
	*H
010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.org0
050515225652Z
060515225652Z010	UUS10U	Worcester10U
Eric Millbrandt1)0'U StartCom Free Certificate Member1'0%	*H
	emillbrandt@coldhaus.com0"0
	*H
0
9<`N
[+OLy.Um?mL1ak0|WN6cVځ3)qs;2$Uݭ͘Lni;w?~|^~"$z2%
8;9
*'E o$()lI:}o8~LZ^g>\zihj1Q4"0ȖJ;.jStn.zž`BpM->AqX0T0U00U0U%0++0Uо!mAK&nI`,yq<0U#0Ҁ܀-udFqMzơ010	UIL10
UIsrael10UEilat10U

StartCom Ltd.10UCA Authority Dep.1)0'U Free SSL Certification Authority1!0	*H
	admin@startcom.org0U 0000/+#http://cert.startcom.org/policy.pdf05+)http://cert.startcom.org/intermediate.pdf0^+0R0
StartCom Ltd.0:Limited Liability, see http://cert.startcom.org/policy.pdf05U.0,0*(&$http://cert.startcom.org/crt-crl.crl0	`HB0.	`HB
!StartCom Free Email Certificate02	`HB%#http://cert.startcom.org/ca-crl.crl03	`HB&$http://cert.startcom.org/crt-crl.crl02	`HB%#http://cert.startcom.org/policy.pdf0#U0http://cert.startcom.org0
	*H
^϶nlEk"/'(5YoGJ>:Jw魽 s=4U,WIƶ"r/<5xϲvi1T#`2a#erMosCdmh>MfRP,ٸ1F
€/D!{3fv=I6gҭSEbJ؅KO1Y⺂T!FZs@j+F($S=K̽&{1&0"0010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.orgV"0	+E0	*H
	1	*H
0	*H
	1
050620203048Z0#	*H
	1
Mf+j}B>S0R	*H
	1E0C0
*H
0*H
0
*H
@0+0
*H
(0	+710010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.orgV"0*H
	1010	UIL10
UIsrael10U

StartCom Ltd.1#0!USecure Certificate Signing1.0,U%StartCom Class1 Primary Email Free CA1!0	*H
	admin@startcom.orgV"0
	*H
U(ФfuB)@Pu`"G3V(qckZ k+/B[f{p w-RLb̟ZH!K@M*n;6ai i6n#젎_bɸ]TY']EA!zwMnj_/r)W%Yrb"E=y1v#(%c9'|0|:`"S0_`:\ͼ?MEs#kMb-v{U
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42B72778.5090009>