LOR 1st rtentry, 2nd ifnet_sx

Andrew Reilly areilly at bigpond.net.au
Wed Oct 28 05:13:33 UTC 2009


Hi there,

I've just joined the bumpy road of -current, in order to answer
a qustion about USB attached drives (see -stable and -fs), and am
now learning about reporting lock order reversals.  Here's my
first, from the last dmesg.boot.  Doesn't seem to be in the lor
database or PRs.  I'm running -current on amd64:

FreeBSD duncan.reilly.home 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Mon Oct 26 20:19:29 EST 2009     root at duncan.reilly.home:/usr/obj/usr/src/sys/DUNCAN  amd64

lock order reversal: (sleepable after non-sleepable)
 1st 0xffffff0002cc30a8 rtentry (rtentry) @ /usr/src/sys/net/route.c:1474
 2nd 0xffffffff80e00b00 ifnet_sx (ifnet_sx) @ /usr/src/sys/netinet/sctp_bsd_addr.c:212
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_checkorder() at witness_checkorder+0x81e
_sx_slock() at _sx_slock+0x55
sctp_init_ifns_for_vrf() at sctp_init_ifns_for_vrf+0x2e
sctp_addr_change() at sctp_addr_change+0xce
rt_newaddrmsg() at rt_newaddrmsg+0x54
rtinit() at rtinit+0x358
in_ifinit() at in_ifinit+0x2fd
in_control() at in_control+0x1047
ifioctl() at ifioctl+0xfc1
kern_ioctl() at kern_ioctl+0xc5
ioctl() at ioctl+0xfd
syscall() at syscall+0x1af
Xfast_syscall() at Xfast_syscall+0xe1
--- syscall (54, FreeBSD ELF64, ioctl), rip = 0x800b8084c, rsp = 0x7fffffffe4e8, rbp = 0x7fffffffef6a ---


More information about the freebsd-current mailing list