lang: en

FreeBSD lock order reversal (LOR) #223

ID 223
state unknown
responsible
reported first 2007-07-21
reported last 2008-03-02
do you know more? submit update by email
LOR
lock order reversal: (sleepable after non-sleepable)
 1st 0xc0bfb798 PFil hook read/write mutex (PFil hook read/write mutex) @ sys/net/pfil.c:73
 2nd 0xc0e20880 ipf filter load/unload mutex (ipf filter load/unload mutex) @
  sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:2419
		
KDB: stack backtrace:
db_trace_self_wrapper(c0a96ace,e3cc299c,c0782f8e,c0a98fa0,c0e20880,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0a98fa0,c0e20880,c0e1b400,c0e1b400,c0e1c7c1,...) at kdb_backtrace+0x29
witness_checkorder(c0e20880,1,c0e1c7c1,973,c53f1000,...) at witness_checkorder+0x6de
_sx_slock(c0e20880,0,c0e1c7c1,973,c5126880,...) at _sx_slock+0x7d
fr_check(c57be024,14,c5269400,0,e3cc2ad0,...) at fr_check+0x5a
fr_check_wrapper(0,e3cc2ad0,c5269400,1,0,...) at fr_check_wrapper+0x3f
pfil_run_hooks(c0bfb780,e3cc2b24,c5269400,1,0,...) at pfil_run_hooks+0x88
ip_input(c5782200,c0652b32,800,c5269400,800,...) at ip_input+0x24d
netisr_dispatch(2,c5782200,46a266ac,89ca3,c5269400,...) at netisr_dispatch+0x73
ether_demux(c5269400,c5782200,3,0,3,...) at ether_demux+0x1f1
ether_input(c5269400,c5782200,18,c0780d4e,c5782200,...) at ether_input+0x37f
ieee80211_deliver_data(c526a22c,c57df000,c5782200,18,c0aa34ce,...) at ieee80211_deliver_data+0x13e
ieee80211_input(c526a22c,c5782200,c57df000,21,ffffffaa,...) at ieee80211_input+0x1159
ath_rx_proc(c526a000,1,c0a97ce7,52,c527bb9c,...) at ath_rx_proc+0x52d
taskqueue_run(c527bb80,c527bb9c,0,c0a8b649,0,...) at taskqueue_run+0x10b
taskqueue_thread_loop(c526b65c,e3cc2d38,c0a9069e,315,c5223000,...) at taskqueue_thread_loop+0x68
fork_exit(c077c220,c526b65c,e3cc2d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe3cc2d70, ebp = 0 ---
		
lock order reversal: (sleepable after non-sleepable)
 1st 0xffffffff807781a8 PFil hook read/write mutex (PFil hook read/write mutex) @ sys/net/pfil.c:73
 2nd 0xffffffffb1e2f840 ipf filter load/unload mutex (ipf filter load/unload mutex) @
  sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:2419
		
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
witness_checkorder() at witness_checkorder+0x5f8
_sx_slock() at _sx_slock+0x51
fr_check() at fr_check+0x61
pfil_run_hooks() at pfil_run_hooks+0xc0
ip_output() at ip_output+0x37d
udp_send() at udp_send+0x350
sosend_dgram() at sosend_dgram+0x21a
kern_sendit() at kern_sendit+0x122
sendit() at sendit+0xdc
sendto() at sendto+0x4d
syscall() at syscall+0x1ce
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (133, FreeBSD ELF64, sendto), rip = 0x800c57f6c, rsp = 0x7fffffffec18, rbp = 0x14705c8 ---
		
lock order reversal:
 1st 0xc39ee8a0 ipf filter load/unload mutex (ipf filter load/unload mutex) @
  sys/modules/ipfilter/../../contrib/ipfilter/netinet/fil.c:2431
 2nd 0xc3a4a404 gif softc (gif softc) @ sys/net/if_gif.c:411
		
comments/references