Subject: Re: PROBLEM: kernel oops when tickless. 2.6.28.x to 2.6.31.3

From: Eric Dumazet <[email-masked]>
Date: Tue, 13 Oct 2009 16:51:24 +0200

Craig Sanders a écrit :
> On Tue, Oct 13, 2009 at 12:07:37PM +0200, Eric Dumazet wrote:
>> This particular problem should/could be fixed in 2.6.31.4 by commit 
>> d99927f4d93f36553699573b279e0ff98ad7dea6
>> (net: Fix sock_wfree() race)
>>
>> Please try to reproduce your tickless problem on 2.6.31.4 or latest
>> Linus git tree
> 
> 
> I've already compiled 2.6.31.4 @1000HZ, but I'll compile again and try
> 2.6.31.4 tickless in the morning. i'll report back with the result - it
> usually takes a few days after booting before the Oops occurs, so if it
> goes well that might not be until the weekend or early next week.
> 
> any idea what actually triggers it?  pppoe? malformed packets from the
> internet?  udp/514 packets for rsyslogd?
> 

Oct 13 14:10:02 taz kernel: [170654.573889]  [<ffffffff81432b43>] ? sock_wfree+0x83/0x90
Oct 13 14:10:02 taz kernel: [170654.573892]  [<ffffffff814370cc>] ? skb_release_head_state+0x5c/0x110
Oct 13 14:10:02 taz kernel: [170654.573894]  [<ffffffff81436de9>] ? __kfree_skb+0x9/0xa0
Oct 13 14:10:02 taz kernel: [170654.573896]  [<ffffffff8143a48c>] ? skb_free_datagram+0xc/0x40
Oct 13 14:10:02 taz kernel: [170654.573900]  [<ffffffff814b5102>] ? unix_dgram_recvmsg+0x202/0x330

This stack trace gives a hint on sock_wfree() that was fixed in 2.6.31.4

Occurrence of the bug might be related to your PREEMPT setting.