Thread (9 messages) flat view 9 messages, 2 authors, 2011-03-14

Re: kernel 2.6.37 : oops in cleanup_once

From: Eric Dumazet <hidden>
Date: 2011-02-02 14:53:40
Also in: lkml

Le mercredi 02 février 2011 à 14:08 +0100, Yann Dupont a écrit :
Le 02/02/2011 12:24, Eric Dumazet a écrit :
quoted
Le mercredi 02 février 2011 à 11:52 +0100, Eric Dumazet a écrit :
quoted
Le mercredi 02 février 2011 à 09:53 +0100, Yann Dupont a écrit :
quoted
Hello.
We recently upgraded one machine with vanilla 2.6.37, and experienced 2
kernel oops since. Each oops is after ~1 week of uptime.
The last oops was last night but we didn't had any trace.
oops, 2.6.37 "only"
quoted
Yes this is a known problem.

Please try commit 3408404a4c2a4eead9d73b0bbbfe3f225b65f492
(inetpeer: Use correct AVL tree base pointer in inet_getpeer())

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3408404a4c2a4eead9d73b0bbbfe3f225b65f492

I believe David will send it to stable team shortly, if not already
done :)
Please ignore, this patch was for linux-2.6 tree, 2.6.37 was not
affected by the problem.

So its another problem... Is there anything particular you do on this
machine ?


Nothing really special there, we run a lot (20) of KVM guest (mainly 
linux firewalls for lots of differents vlan), so we have a lot of 
bridges vlan & tun/tap.
Oh, and CONFIG_BRIDGE_IGMP_SNOOPING is set to n (because of  the other 
bug already sent to netdev - more to come on next mail)

Hard to say if this BUG is new in 2.6.37. This host was running fine 
with 2.6.34.2 since August 2010.
Bisecting will be hard due to the time to trigger the bug (and the fact 
that this machine is a production machine)

Anyway, I can test with a specific kernel version if you suspect something.
I suspect a mem corruption from another layer (not inetpeer)

Unfortunately many kmem caches share the "64 bytes" cache.

Could you please add "slub_nomerge" on your boot command ?


This way, we can separate corruptions on each cache.


On your crash, one inetpeer contain garbage on unused_lists next/prev
pointers :

RCX: 0000000000000005
RDX: 0b000209f1beadde

Definitly something overwrote these values with non pointers values.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help