Badness in dst_release
Subsystems (3)
After a week or more of uptime, the "Badness in dst_release" messages started again. Kernel 2.6.10-rc3-bk2. The first message is below.
Arnaldo and Yoshifuji should have already have access to this machine (although I just rebooted into -bk-latest)
IMO, if you want additional debugging code, add some non-intrusive checks in the upstream kernel. Since this problem doesn't appear for a while, additional checks would be useful.
Badness in dst_release at include/net/dst.h:149
[<f8c1124d>] ip6_dst_check+0x64/0x6a [ipv6] [<f8c080da>] ip6_dst_lookup+0x1a7/0x1c1 [ipv6] [<f8c1a4e6>] udpv6_sendmsg+0x297/0x931 [ipv6] [<c03194ef>] udp_recvmsg+0x60/0x2e9 [<c032086d>] inet_sendmsg+0x4d/0x59 [<c02d33d8>] sock_sendmsg+0xe8/0x103 [<c011bb37>] find_busiest_group+0xcf/0x2db [<c011bfb9>] load_balance_newidle+0x36/0xb4 [<c01ec15c>] copy_from_user+0x42/0x6e [<c0133fd2>] autoremove_wake_function+0x0/0x57 [<c02d4cf6>] sys_sendmsg+0x189/0x1e6 [<c0355e24>] schedule_timeout+0xbd/0xbf [<c0134a47>] unqueue_me+0x5a/0xa5 [<c0133dda>] add_wait_queue+0x1a/0x46 [<c0134be4>] futex_wait+0x152/0x170 [<c014ecd4>] find_extend_vma+0x29/0x7e [<c011c7d5>] default_wake_function+0x0/0x12 [<c01346e0>] futex_wake+0x74/0xc4 [<c01ec15c>] copy_from_user+0x42/0x6e [<c02d5180>] sys_socketcall+0x236/0x254 [<c0102f0d>] sysenter_past_esp+0x52/0x71
Quoted 3 lines · Jeff Garzik
After a week or more of uptime, the "Badness in
dst_release" messages started again. Kernel 2.6.10-rc3-bk2. The first message is below.
Could you please check your kern.log for any abnormal messages prior to this badness?
Quoted 3 lines
IMO, if you want additional debugging code, add some non-intrusive checks in the upstream kernel. Since this problem doesn't appear for a while, additional checks would be useful.
Here's a check which might help. Please apply it and see if it produces anything.
BTW, there are still races left in addrconf.c. However, they are less likely to trigger compared to the one that's been fixed already. The races are similar in nature to it. For example, dad_complete may race with dad_failure to lead to the sequence ip6_del_rt/ip6_ins_rt.
Cheers,
Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt===== net/ipv6/route.c 1.102 vs edited =====
net/ipv6/route.c +1 -0
@@ -379,6 +379,7 @@int err;write_lock_bh (&rt6_lock); +WARN_ON (rt->u.dst->obsolete); err =fib6_add (&ip6_routing_table, rt, nlh, _rtattr);write_unlock_bh (&rt6_lock);