Multicast locking LOR

Ed Maste emaste at phaedrus.sandvine.ca
Mon Aug 8 19:00:26 GMT 2005


I built a vanilla (i.e. without local patches) kernel with
the recent multicast locking changes, and got the following
LOR:

Lock order reversal
 1st 0xa26ffaec inp (udpinp) @ /d2/emaste/cvs_mcast/src/sys/netinet/udp_usrreq.c:762
 2nd 0xa07ebf60 in_multi_mtx (in_multi_mtx) @ d2/emaste/cvs_mcast/src/sys/netinet/ip_output.c:294
KDB: stack backtrace:
kdb_backtrace(0,ffffffff,a07ab3b8,a07ab480,a075e1e0) at 0xa0586a95 = kdb_backtrace+0x29
witness_checkorder(a07ebf60,9,a0729936,126) at 0xa0590c60 = witness_checkorder+0x564
_mtx_lock_flags(a07ebf60,0,a0729936,126,0) at 0xa0566610 = _mtx_lock_flags+0x60
ip_output(a2706a00,0,c8463b08,20,a26a9500) at 0xa05f7d8a = ip_output+0x3fe
udp_output(a26ffa5c,a2706a00,0,0,a29b9900) at 0xa060754f = udp_output+0x4a7
udp_send(a29b2ca0,0,a2911900,0,0) at 0xa0607abe = udp_send+0x1a
sosend(a29b2ca0,0,c8463cbc,a2911900,0) at 0xa05a8287 = sosend+0x5e3
soo_write(a26d79d8,c8463cbc,a2605800,0,a29b9900) at 0xa059810a = soo_write+0x46
dofilewrite(a29b9900,c,a26d79d8,c8463cbc,ffffffff) at 0xa0592903 = dofilewrite+0x77
kern_writev(a29b9900,c,c8463cbc,842b12a,0) at 0xa05927a7 = kern_writev+0x3b
write(a29b9900,c8463d04,3,0,282) at 0xa05926cd = write+0x45
syscall(685a003b,804003b,9fbf003b,821c400,f6) at 0xa06c75b3 = syscall+0x25b
Xint0x80_syscall() at 0xa06b4ccf = Xint0x80_syscall+0x1f
--- syscall (4, FreeBSD ELF32, write), eip = 0x681e31af, esp = 0x9f9ff9fc, ebp = 0x9f9ffa18 ---

--
Ed Maste, Sandvine Incorporated


More information about the freebsd-net mailing list