lang: en

FreeBSD lock order reversal (LOR) #178

ID 178
state unknown
responsible anholt
reported first 2006-01-29
reported last 2007-09-25
do you know more? submit update by email
LOR
lock order reversal: (sleepable after non-sleepable)
 1st 0xc2f304d4 drm device (drm device) @ sys/modules/drm/drm/../../../dev/drm/drm_drv.c:904
 2nd 0xc332d464 user map (user map) @ sys/vm/vm_glue.c:182
		
KDB: stack backtrace:
witness_checkorder(c332d464,9,c0636c35,b6,c0626c4b) at witness_checkorder+0x67a
_sx_xlock(c332d464,c0636c35,b6,c0677d14,1000008) at _sx_xlock+0x5c
useracc(aa6e600,8,1,c04cfcd3,c33c3012) at useracc+0x66
i915_batchbuffer(c3330400,80186443,c345f8c0,3,c3417d00) at i915_batchbuffer+0x358
drm_ioctl(c3330400,80186443,c345f8c0,3,c3417d00) at drm_ioctl+0x1af
giant_ioctl(c3330400,80186443,c345f8c0,3,c3417d00) at giant_ioctl+0x56
devfs_ioctl_f(c337f4c8,80186443,c345f8c0,c346aa80,c3417d00) at devfs_ioctl_f+0x66
ioctl(c3417d00,d63bed04,c,d63bec9c,3) at ioctl+0x118
syscall(3b,2862003b,bfbf003b,af89c10,10) at syscall+0x164
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x28602123, esp = 0xbfbfe3ec, ebp= 0xbfbfe408 ---
		
KDB: stack backtrace:
db_trace_self_wrapper(c08a3fa4,e6450a44,c066992e,c08a6485,c3e6ea3c,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c08a6485,c3e6ea3c,c08be517,c08be517,c08bdfed,...) at kdb_backtrace+0x29
witness_checkorder(c3e6ea3c,9,c08bdfed,b6,c435a000,...) at witness_checkorder+0x6de
_sx_xlock(c3e6ea3c,0,c08bdfed,b6,e6450aa8,...) at _sx_xlock+0x7d
_vm_map_lock_read(c3e6e9f8,c08bdfed,b6,c435a000,a60,...) at _vm_map_lock_read+0x50
useracc(4ce1ede8,8,1,f5,c09ce1bc,...) at useracc+0x65
i915_cmdbuffer(c3bf3800,8018644b,c43814a0,3,c435a000,...) at i915_cmdbuffer+0x10f
drm_ioctl(c3bf3800,8018644b,c43814a0,3,c435a000,...) at drm_ioctl+0x357
giant_ioctl(c3bf3800,8018644b,c43814a0,3,c435a000,...) at giant_ioctl+0x56
devfs_ioctl_f(c4cdd1b0,8018644b,c43814a0,c4356700,c435a000,...) at devfs_ioctl_f+0xc9
kern_ioctl(c435a000,9,8018644b,c43814a0,450c4c,...) at kern_ioctl+0x243
ioctl(c435a000,e6450cfc,e6450c80,c4022e4a,c435a000,...) at ioctl+0x134
linux_ioctl_drm(c435a000,e6450cfc,c4030c45,a2f,c435a000,...) at linux_ioctl_drm+0x2f
linux_ioctl(c435a000,e6450cfc,e6450cf8,e6450d1c,c4032dd0,...) at linux_ioctl+0xca
syscall(e6450d38) at syscall+0x2b3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (54, Linux ELF, linux_ioctl), eip = 0x49ea95f4, esp = 0xbfbfdf44, ebp = 0xbfbfdf64 ---
		
comments/references