lang: en

FreeBSD lock order reversal (LOR) #191

ID 191
state patched
(might have lead to deadlock)
might be back
responsible mlaier
reported first 2006-06-11
reported last 2007-05-25
do you know more? submit update by email
LOR
lock order reversal:
 1st 0xc077a440 pf task mtx (pf task mtx) @ sys/contrib/pf/net/pf.c:6331
 2nd 0xc07d3fac tcp (tcp) @ sys/contrib/pf/net/pf.c:2719
		
KDB: stack backtrace:
witness_checkorder(c07d3fac,9,c06fd2f7,a9f) at witness_checkorder+0x55c
_mtx_lock_flags(c07d3fac,0,c06fd2f7,a9f,c07d3fac) at _mtx_lock_flags+0x40
pf_socket_lookup(e35ccacc,e35ccad0,1,e35ccb8c,0) at pf_socket_lookup+0x103
pf_test_tcp(e35ccb3c,e35ccb34,1,c4d3e400,c5027c00,14,c5032810,e35ccb8c,e35ccb40,e35ccb44,0,0) at pf_test_tcp+0x10d6
pf_test(1,c4ba3c00,e35ccc2c,0,0) at pf_test+0xb77
pf_check_in(0,e35ccc2c,c4ba3c00,1,0) at pf_check_in+0x37
pfil_run_hooks(c07d3b60,e35ccccc,c4ba3c00,1,0) at pfil_run_hooks+0xee
ip_input(c5027c00,18,c07d3138,e35cccec,c05dcd63) at ip_input+0x1b2
netisr_processqueue(c4b24500,c4b28000,0,e35ccd0c,c055877b) at netisr_processqueue+0xf
swi_net(0,c4b28038,c4ad6d80,c0558590,c4ad520c) at swi_net+0x8b
ithread_loop(c4ab68d0,e35ccd38,c4ab68d0,c0558590,0) at ithread_loop+0x1eb
fork_exit(c0558590,c4ab68d0,e35ccd38) at fork_exit+0x7d
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe35ccd6c, ebp = 0 ---
		

		

		
lock order reversal:
 1st 0xc44d8c44 pf task mtx (pf task mtx) @ sys/modules/pf/../../contrib/pf/net/pf.c:6414
 2nd 0xc0a9df6c tcp (tcp) @ sys/modules/pf/../../contrib/pf/net/pf.c:2760
		
KDB: stack backtrace:
db_trace_self_wrapper(c094da94) at db_trace_self_wrapper+0x25
kdb_backtrace(0,ffffffff,c0a5d7d8,c0a5f330,c09f6c04,...) at kdb_backtrace+0x29
witness_checkorder(c0a9df6c,9,c44d5e24,ac8) at witness_checkorder+0x586
_mtx_lock_flags(c0a9df6c,0,c44d5e24,ac8,c0a9df6c,...) at _mtx_lock_flags+0x84
pf_socket_lookup(e466da84,e466da88,1,e466db40,0,...) at pf_socket_lookup+0x1d3
pf_test_tcp(e466daf0,e466dae8,1,c4505d00,c4467700,...) at pf_test_tcp+0x11e6
pf_test(1,c4098800,e466dbdc,0,0,...) at pf_test+0xae3
pf_check_in(0,e466dbdc,c4098800,1,0) at pf_check_in+0x37
pfil_run_hooks(c0a9db40,e466dc2c,c4098800,1,0) at pfil_run_hooks+0x7f
ip_input(c4467700) at ip_input+0x232
netisr_dispatch(2,c4467700,0,c4098800,c44a0800,...) at netisr_dispatch+0x58
ether_demux(c4098800,c4467700,c4037000,c44a1002,e466dca0,...) at ether_demux+0x28a
ether_input(c4098800,c4467700,c4037014,0,c092325d,...) at ether_input+0x202
fxp_intr_body(c4037000,c4098800,40,ffffffff) at fxp_intr_body+0x1a0
fxp_intr(c4037000) at fxp_intr+0x95
ithread_execute_handlers(c40a0240,c3f46900) at ithread_execute_handlers+0x11e
ithread_loop(c40433a0,e466dd38) at ithread_loop+0x67
fork_exit(c06adf00,c40433a0,e466dd38) at fork_exit+0xac
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe466dd70, ebp = 0 ---
		
comments/references