Hi Jesus,
--- Jesus Lopez wrote:
> Hello,
>
> I must write some code for a custom ethernet-like
> stuff. I'm using snull
> code from LDD3 to do some prior testing. I'm working
> on an AT91rm9200
> running linux-2.6.14-uc0, arm-linux-gcc-3.3.2. I can
> compile the module with
> no trouble, insmod it and bring both interfaces up
> but when I ping any
> address kernel crashes:
>
> # ifconfig sn0 192.168.1.67
> # ping 192.168.1.15
> PING 192.168.1Unable to handle kernel paging request
> at virtual address
> ffffffff
> .pgd = c1a10000
> 1[ffffffff] *pgd=200020315, *pte=00000000 ,
> *ppte=00000000(
> 1Internal error: Oops: 817 [#1]
> Modules linked in: snull
> CPU: 0
> PC is at snull_header+0x5c/0xac [snull]
> LR is at neigh_connected_output+0xa4/0x11c
> pc : [<bf000778>] lr : [<c01c47e4>] Not
> tainted
> sp : c1c7bbfc ip : c1c7bc2c fp : c1c7bc28
> r10: c03978c4 r9 : 00000040 r8 : 00000000
> r7 : c039fc00 r6 : 00000800 r5 : c03d7a20 r4 :
> fffffff3
> r3 : c03978c4 r2 : 00000800 r1 : 00000000 r0 :
> 00000008
> Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment
> user
> Control: C000717F Table: 21A10000 DAC: 00000015
> Process ping (pid: 761, stack limit = 0xc1c7a194)
> Stack: (0xc1c7bbfc to 0xc1c7c000)
> bbe0:
> c1c7bc4c
> bc00: c1c7bc0c c03d7a20 00000000 c03978a0 c1bc8040
> c038be80 00000000
> c1c7bc4c
> bc20: c1c7bc2c c01c47e4 bf00072c 00000000 00000054
> c03d7a20 00000000
> c038be80
> bc40: c1c7bc84 c1c7bc50 c01d85f0 c01c4750 c039fc00
> c01dadc0 80000000
> c03d7a20
> bc60: c1bc8040 00000040 c03d7a20 c1bc8040 00000040
> c1bc8040 c1c7bcc0
> c1c7bc88
> bc80: c01da84c c01d8358 c039fc00 c01dad8c 80000000
> c03d7a20 00000000
> c1c7beac
> bca0: 0f01a8c0 c1bc8040 c1bc8040 00000000 00000040
> c1c7bda0 c1c7bcc4
> c01f64c8
> bcc0: c01da414 00000000 c1c7bd6c c038be80 00000000
> 00000000 c038be80
> 00000000
> bce0: 00000000 0f01a8c0 00000000 00000000 00000000
> 00000000 00000000
> 00000000
> bd00: 00000000 00000000 00000001 00000000 00000000
> 00000000 00000000
> 00000000
> bd20: 00000000 00000000 00000000 0f01a8c0 4301a8c0
> 00000000 00000000
> 00000000
> bd40: 00000000 00000000 00000000 00000000 00000001
> 00000008 00000000
> 00000000
> bd60: 00000000 00000000 00000000 0f01a8c0 00000000
> 00000000 c1bc8040
> c1c7be0c
> bd80: c1c7beac 00000040 0004ec08 c1c7a000 00000010
> c1c7bdc0 c1c7bda4
> c01ffad8
> bda0: c01f61b4 c1c7beac 00000000 00000000 00000040
> c1c7be9c c1c7bdc4
> c01b2bd4
> bdc0: c01ffa8c c0042b4c c0042ec4 c1c7be10 00000040
> c1c6f080 0000002b
> 00000000
> bde0: c1c7beac c0042d0c c0042afc c1c7be0c c1c7bdfc
> c0023db0 c0042ccc
> ffffffff
> be00: c1c7be98 c1c7be10 c0022984 c0023d50 4007cc60
> 00000000 00000001
> ffffffff
> be20: 00000000 c001e1a8 00000000 0000002b 00000000
> 00000000 4007c000
> c1c97d60
> be40: 00000000 00000000 c00294b4 c002b5b0 80000013
> ffffffff c001c1fc
> 00000100
> be60: 00000000 c1c97d60 c00537e0 c1c7be6c c1c7be6c
> 00000010 00000010
> c1c7bec8
> be80: c1c7bdc4 c1c6f080 c1c7bec8 00000000 c1c7bf6c
> c1c7bea0 c01b4160
> c01b2b2c
> bea0: bed58c90 00000040 00000000 c1c7bec8 00000010
> c1c7bea0 00000001
> 00000000
> bec0: 00000000 00000000 00000002 0f01a8c0 00000000
> 00000000 c1a11000
> c0fef1d4
> bee0: 00000000 0004ecbc 60000013 c02ed240 c02eed9c
> 0000000a 00000001
> c1c7a000
> bf00: 4001bd18 c1c7bf28 c1c7bf14 c003a310 c003a27c
> 00000000 c0fe2000
> c1c7bf40
> bf20: c1c7bf2c c00fe4c0 c003a2f8 00000000 c02ed240
> c1c7bf50 c1c7bf44
> c0112668
> bf40: c00fe470 c1c7bf68 00000000 0000000b 00000040
> 00000066 c0022e64
> bed58cc8
> bf60: c1c7bfa4 c1c7bf70 c01b4990 c01b40bc 0004ec08
> 00000010 00000003
> bed58c90
> bf80: 00000040 00000000 0004ec08 00000010 bed58c90
> 00000000 00000000
> c1c7bfa8
> bfa0: c0022ce0 c01b483c bed58c90 c0023d50 0000000b
> bed58c78 00000040
> 00000000
> bfc0: bed58c90 00000000 00000040 0004ec1c 00000001
> 0004ecbc bed58cc8
> bed58cf8
> bfe0: 4010f8f0 bed58c78 000275f4 4010f900 60000010
> 0000000b de312472
> 0ef2bccf
> Backtrace:
> [<bf00071c>] (snull_header+0x0/0xac [snull]) from
> [<c01c47e4>]
> (neigh_connected_output+0xa4/0x11c)
> [<c01c4740>] (neigh_connected_output+0x0/0x11c) from
> [<c01d85f0>]
> (ip_output+0x2a8/0x31c)
> r6 = C038BE80 r5 = 00000000 r4 = C03D7A20
> [<c01d8348>] (ip_output+0x0/0x31c) from [<c01da84c>]
> (ip_push_pending_frames+0x448/0x574)
> r7 = C1BC8040 r6 = 00000040 r5 = C1BC8040 r4 =
> C03D7A20
> [<c01da404>] (ip_push_pending_frames+0x0/0x574) from
> [<c01f64c8>]
> (raw_sendmsg+0x324/0x410)
> [<c01f61a4>] (raw_sendmsg+0x0/0x410) from
> [<c01ffad8>]
> (inet_sendmsg+0x5c/0x64)
> [<c01ffa7c>] (inet_sendmsg+0x0/0x64) from
> [<c01b2bd4>]
> (sock_sendmsg+0xb8/0xd4)
> r7 = 00000040 r6 = 00000000 r5 = 00000000 r4 =
> C1C7BEAC
> [<c01b2b1c>] (sock_sendmsg+0x0/0xd4) from
> [<c01b4160>]
> (sys_sendto+0xb4/0xc8)
> r6 = 00000000 r5 = C1C7BEC8 r4 = C1C6F080
> [<c01b40ac>] (sys_sendto+0x0/0xc8) from [<c01b4990>]
> (sys_socketcall+0x164/0x1f4)
> [<c01b482c>] (sys_socketcall+0x0/0x1f4) from
> [<c0022ce0>]
> (ret_fast_syscall+0x0/0x2c)
> r5 = 00000000 r4 = BED58C90
> Code: 3a000012 e5954080 e1a00426 e2581000 (e5c4000c)
> 92<0>Kernel panic - not syncing: Aiee, killing
> interrupt handler!
> . 168.1.15): 56 data bytes
>
> Any idea what's wrong? Source code is obviously
> right. Whose the fault? Any
> pending patch to be applies to kernel tree?
> Compiler?
>
The PC and backtrace all point to snull_header. I'd
start by looking there. Use a debugger and/or
sprinkle some printk, in snull_header, to see what is
happening.
Also, look closely at compiler output and investigate
all warnings.
I wouldn't assume the code is 100% correct. LDD3 is
based on 2.6.10 and you mention that you are using
2.6.14.
Which uClinux-dist are you using? Did you get your
toolchain from uclinux.org?
Regards,
...doug
____________________________________________________________________________________
Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for
today's economy) at Yahoo! Games.
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev