Re: LOR in pseudofs

From: Robert Watson <rwatson_at_freebsd.org>
Date: Fri, 13 Aug 2004 11:21:25 -0400 (EDT)
On Fri, 13 Aug 2004, Martin Blapp wrote:

> lock order reversal
>  1st 0xc0903e40 pseudofs_vncache (pseudofs_vncache) _at_
> /usr/src/sys/fs/pseudofs/pseudofs_vncache.c:226
>  2nd 0xc0908260 Giant (Giant) _at_ /usr/src/sys/kern/kern_synch.c:249

This is another symptom of the same previous problem.  After sleeping,
waiting on a lock, the thread will now re-acquire Giant and discover it's
already holding a mutex and get a lock order reversal.

DES CC'd again :-).

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert_at_fledge.watson.org      Principal Research Scientist, McAfee Research


> KDB: stack backtrace:
> kdb_backtrace(c085002d,c0908260,c084d1f1,c084d1f1,c084dea8) at
> kdb_backtrace+0x2f
> witness_checkorder(c0908260,9,c084dea8,f9,c0908220) at witness_checkorder+0x5d9
> _mtx_lock_flags(c0908260,0,c084dea8,f9,0) at _mtx_lock_flags+0x32
> msleep(c469cc08,c09087bc,50,c084928d,0) at msleep+0x457
> acquiredrain(c469cc04,1000040,c084c33b,e7,c3f7a160) at acquiredrain+0x9c
> lockmgr(c469cc04,10007,c469cb58,c3f7a160,e5143ba0) at lockmgr+0x4d2
> vop_stdlock(e5143bf8,e5143c14,c068ce26,e5143bf8,1) at vop_stdlock+0x2c
> vop_defaultop(e5143bf8,1,c062ccaf,c090f400,8) at vop_defaultop+0x18
> vclean(c469cb58,8,c3f7a160,c469cb58,c3f7a160) at vclean+0x50
> vgonel(c469cb58,c3f7a160,c0853c09,a43,0) at vgonel+0x5f
> vgone(c469cb58,0,c0849739,e2,c35dc5a0) at vgone+0x42
> pfs_exit(0,c3f7da68,c084b8ec,cc,c0908260) at pfs_exit+0x74
> exit1(c3f7a160,0,e5143d40,c07e88eb,c3f7a160) at exit1+0x2ed
> exit1(c3f7a160,e5143d14,4,c0851129,1) at exit1
> syscall(2f,2f,2f,bfbfe508,bfbfe468) at syscall+0x275
> Xint0x80_syscall() at Xint0x80_syscall+0x1f
> --- syscall (1, FreeBSD ELF32, sys_exit), eip = 0x832d7c7, esp = 0xbfbfe434, ebp
> = 0xbfbfe440 ---
> KDB: enter: witness_checkorder
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Fri Aug 13 2004 - 13:23:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:06 UTC