kern/136945: [ufs] [lor] filedesc structure/ufs (poll)

Rene Ladan rene at freebsd.org
Thu Jul 30 14:38:29 UTC 2009


2009/7/30 Kostik Belousov <kostikbel at gmail.com>:
> On Thu, Jul 30, 2009 at 02:55:48PM +0200, Rene Ladan wrote:
>>
>> FreeBSD 8.0-BETA2 #3: Thu Jul 30 13:29:46 CEST 2009
>>
>> lock order reversal:
>>  1st 0xffffff00510a5d80 ufs (ufs) @ /usr/src/sys/kern/kern_exec.c:570
>>  2nd 0xffffff0002dfe248 filedesc structure (filedesc structure) @ /usr/src/sys/kern/kern_descrip.c:1864
>> KDB: stack backtrace:
>> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
>> _witness_debugger() at _witness_debugger+0x49
>> witness_checkorder() at witness_checkorder+0x7ea
>> _sx_xlock() at _sx_xlock+0x44
>> setugidsafety() at setugidsafety+0x40
>> kern_execve() at kern_execve+0xf22
>> execve() at execve+0x38
>> syscall() at syscall+0x1af
>> Xfast_syscall() at Xfast_syscall+0xe1
>> --- syscall (59, FreeBSD ELF64, execve), rip = 0x8007c3d0c, rsp = 0x7fffffffec48, rbp = 0x7fffffffed50 ---
>
> For this one, please replace the order of lines 676 and 677 in
> sys/kern/kern_exec.c, that is make it be
>                VOP_UNLOCK(imgp->vp, 0);
>                setugidsafety(td);
> instead of
>                VOP_UNLOCK(imgp->vp, 0);
>                setugidsafety(td);
>

This patch seems to solve the LORs I got right after boot (only one
about wpi is left which I already reported).

René


More information about the freebsd-fs mailing list