lang: en

FreeBSD lock order reversal (LOR) #212

ID 212
state patched
responsible scottl
reported first 2007-04-15
reported last 2007-04-15
do you know more? submit update by email
LOR
lock order reversal: (Giant after non-sleepable)
 1st 0xc06f478c XPT topology lock (XPT topology lock) @ sys/cam/cam_xpt.c:7230
 2nd 0xc070d8c8 Giant (Giant) @ sys/cam/cam_periph.c:561
		
KDB: stack backtrace:
db_trace_self_wrapper(c069cc83,e39e8858,c05300ed,c069ed3a,c070d8c8,...) at db_trace_self_wrapper+0x27
kdb_backtrace(c069ed3a,c070d8c8,c06992ea,c06992ea,c0682fe9,...) at kdb_backtrace+0x2f
witness_checkorder(c070d8c8,9,c0682fe9,231,c4e9bacc,...) at witness_checkorder+0x6e4
_mtx_lock_flags(c070d8c8,0,c0682fe9,231,e39e88b0,...) at _mtx_lock_flags+0xb9
cam_periph_lock(c51bb580,1,c4cde98c,c51bb580,e39e8b30,...) at cam_periph_lock+0x2f
dacleanup(c51bb580,c06b44bd,c0698f3e,fc,c070b760,...) at dacleanup+0x7f
camperiphfree(c51bb580,0,e39e8b50,c04345fb,c51bb580,...) at camperiphfree+0x5e
cam_periph_invalidate(c51bb580,e39e8b68,e39e8b88,c04456fc,c51bb580,...) at cam_periph_invalidate+0x3d
cam_periph_async(c51bb580,100,e39e8c00,0,c050da3e,c5011bb4,1c,c63bba00,c5011a00,c5f62a00) at cam_periph_async+0x2d
daasync(c51bb580,100,e39e8c00,0,c6d1de00,...) at daasync+0x111
xpt_async_bcast(c6d1de74,100,e39e8c00,0,0,...) at xpt_async_bcast+0x38
xpt_async(100,e39e8c00,0,ffffffff,ffffffff,...) at xpt_async+0xf6
xpt_bus_deregister(2,c671ca00,c5ec9e00,e39e8c4c,c08b7c95,...) at xpt_bus_deregister+0x5a
umass_cam_detach_sim(c671caf4,1,c5ec9e00,c5ec9e00,0,...) at umass_cam_detach_sim+0x25
umass_detach(c5ec9e00,c4d5c850,c06cd6ac,970,c63bd1c0,...) at umass_detach+0xc3
device_detach(c5ec9e00,2,c4e18200,c4e18200,3,...) at device_detach+0x8f
usb_disconnect_port(c4e22630,c4e22680,10,271,e5,...) at usb_disconnect_port+0xae
uhub_explore(c4e22880,c4e1bb40,e39e8cfc,c04a886b,c4e1bb40,...) at uhub_explore+0x181
usb_discover(c4e1bb40,0,5c,c0691f7e,ea60,...) at usb_discover+0x34
usb_event_thread(c4e1bb40,e39e8d38,c0696c42,326,c4d53d80,...) at usb_event_thread+0x8f
fork_exit(c04a87dc,c4e1bb40,e39e8d38) at fork_exit+0xcc
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe39e8d70, ebp = 0 ---
		
comments/references