Subject: Re: Kernel Panics in the network stack

From: Kevin Constantine <[email-masked]>
Date: Fri, 11 Dec 2009 13:50:35 -0800

On 12/11/2009 01:39 PM, Eric Dumazet wrote:
> Le 11/12/2009 22:09, Kevin Constantine a écrit :
>> Hey Everyone-
>>
>> I've been playing with an ARM based linuxstamp
>> http://opencircuits.com/Linuxstamp, and I've been seeing kernel panics
>> with both 2.6.28.3, and 2.6.30 within an hour or so of turning the
>> linuxstamp on.  The stack traces always seem to point at functions
>> related to networking.  I've pasted a couple of the crash outputs below.
>>   The linuxstamp isn't typically doing anything when the crashes occur,
>> in fact it'll crash even if I haven't logged in.
>>
>> If I ifconfig the interface down, the linuxstamp stays up indefinitely.
>>   Any pointers in one direction or another would be much appreciated.
>>
>> I'm not sure if this is the right audience to help out or if the arm
>> lists might be better.  But in any event, any help would be really
>> appreciated.
>>
>>
>> linuxstamp login: Unable to handle kernel paging request at virtual
>> address 183cb7b0
>> pgd = c0004000
>> [183cb7b0] *pgd=00000000
>> Internal error: Oops: 0 [#1] PREEMPT
>> Modules linked in:
>> CPU: 0    Not tainted  (2.6.30-00002-g0148992 #13)
>> PC is at 0x183cb7b0
>> LR is at __udp4_lib_rcv+0x43c/0x72c
>
> Could you disassemble your vmlinux file, __udp4_lib_rcv function around LR
> <c024ff4c>, to see which function was called ? This function then called
> a wrong pointer (0x183cb7b0 not a kernel pointer)
>
> Maybe a kernel stack corruption, or bad ram, ...

The vmlinux file I'm using has probably changed a number of times since 
then.  I'll get a fresh stack trace and disassemble that one.

I've has this type of problem with several linuxstamps.  I'm only able 
to trigger this panic when the linuxstamp is plugged into a cisco 
catalyst gigabit switch.  Plugging it in at home into a consumer grade 
10/100 switch, the linuxstamp stays up indefinitely.

Also worth noting, I'm seeing the error counts in ifconfig increase 
steadily.

eth0      Link encap:Ethernet  HWaddr ac:de:48:00:00:01
           inet addr:172.30.194.255  Bcast:172.30.207.255 
Mask:255.255.240.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:42492 errors:1442 dropped:0 overruns:6 frame:784
           TX packets:1169 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:3804651 (3.6 MiB)  TX bytes:106728 (104.2 KiB)
           Interrupt:24 Base address:0xc000

-kevin