Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Sep 2006 13:01:29 -0400
From:      Kris Kennaway <kris@obsecurity.org>
To:        Daichi GOTO <daichi@freebsd.org>
Cc:        freebsd-fs@freebsd.org, freebsd-hackers@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: [ANN] unionfs patchset-16 release, it is ready for the merge
Message-ID:  <20060903170129.GA98917@xor.obsecurity.org>
In-Reply-To: <44B74036.6060101@freebsd.org>
References:  <44B67340.1080405@freebsd.org> <44B74036.6060101@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--a8Wt8u1KmwUX3Y2C
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 14, 2006 at 03:56:54PM +0900, Daichi GOTO wrote:
> Daichi GOTO wrote:
> > Patchset-16:
> >    For 7-current
> >      http://people.freebsd.org/~daichi/unionfs/unionfs-p16.diff
> >=20
> >    For 6.x
> >      http://people.freebsd.org/~daichi/unionfs/unionfs6-p16.diff
>=20
> I'm sorry, how silly of me. I updated miss edited things.
> I updated correct things now. Please check it :)

Dear Goto-san,

The panic I was previously seeing (with chrooting into the unionfs)
appears to be fixed, but after a bit of load I got the following
locking assertion on a unionfs (default mount options) stacked over a
nullfs mount of a local ufs filesystem:

KDB: stack backtrace:
vfs_badlock(c7203000,ec8d0934,c07c5940,c7203000,0,...) at vfs_badlock+0x76
assert_vop_locked(c7203000,c0781c51,1,1000,c7203000,...) at assert_vop_lock=
ed+0x60
VOP_GETPAGES_APV(c07b2680,ec8d0980,c0774e5e,2a1,0,...) at VOP_GETPAGES_APV+=
0x8a
vnode_pager_getpages(c756cd20,ec8d09c8,1,0,0,...) at vnode_pager_getpages+0=
xbb
vm_imgact_map_page(c756cd20,731c,0,8051000,7,...) at vm_imgact_map_page+0xb4
elf32_load_section(7000,804f000,1bf4,31c,3,...) at elf32_load_section+0x140
exec_elf32_imgact(ec8d0ba8,0,c07577ee,149,c90c6068,...) at exec_elf32_imgac=
t+0x2c7
kern_execve(c54c9360,ec8d0c60,0,8226620,8226730,e6d06000,e6d06000,e6d06036,=
e6d06516,e6d46000,3faea,8,3a) at kern_execve+0x428
execve(c54c9360,ec8d0d04,c,ec8d0d38,3,...) at execve+0x52
syscall(3b,3b,3b,2,8226730,...) at syscall+0x152
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (59, FreeBSD ELF32, execve), eip =3D 0x2813f007, esp =3D 0xbfbf=
d30c, ebp =3D 0xbfbfd338 ---
VOP_GETPAGES: 0xc7203000 is not locked but should be
KDB: enter: lock violation
[thread pid 54852 tid 100210 ]
Stopped at      kdb_enter+0x32: leave

The other locked vnodes are:

db> show lockedvnods
Locked vnodes

0xc861da80: tag ufs, type VREG
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xc84b0ac8 ref 0 pages 8
     lock type ufs: EXCL (count 1) by thread 0xc54c9360 (pid 54852)#0 0xc05=
37384 at lockmgr+0x541
#1 0xc06950ce at ffs_lock+0x59
#2 0xc0730898 at VOP_LOCK_APV+0x76
#3 0xc05045db at unionfs_lock+0xda
#4 0xc0730898 at VOP_LOCK_APV+0x76
#5 0xc05c7b22 at vn_lock+0x67
#6 0xc0511f5b at exec_elf32_imgact+0x219
#7 0xc05273e5 at kern_execve+0x428
#8 0xc052801e at execve+0x52
#9 0xc07161b3 at syscall+0x152
#10 0xc06fefef at Xint0x80_syscall+0x1f

        ino 1274323, on dev da0s1e

0xc861e3f0: tag unionfs, type VREG
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags (VV_TEXT)
    v_object 0xc756cd20 ref 3 pages 8
     lock type ufs: EXCL (count 1) by thread 0xc54c9360 (pid 54852)#0 0xc05=
37384 at lockmgr+0x541
#1 0xc06950ce at ffs_lock+0x59
#2 0xc0730898 at VOP_LOCK_APV+0x76
#3 0xc05045db at unionfs_lock+0xda
#4 0xc0730898 at VOP_LOCK_APV+0x76
#5 0xc05c7b22 at vn_lock+0x67
#6 0xc0511f5b at exec_elf32_imgact+0x219
#7 0xc05273e5 at kern_execve+0x428
#8 0xc052801e at execve+0x52
#9 0xc07161b3 at syscall+0x152
#10 0xc06fefef at Xint0x80_syscall+0x1f

unionfs_vp=3D0xc861e3f0, uppervp=3D0xc861da80, lowervp=3D0xc86c7690
unionfs opencnt: uppervp=3D0, lowervp=3D4
unionfs: upper
0xc861da80: tag ufs, type VREG
    usecount 1, writecount 0, refcount 2 mountedhere 0
    flags ()
    v_object 0xc84b0ac8 ref 0 pages 8
     lock type ufs: EXCL (count 1) by thread 0xc54c9360 (pid 54852)#0 0xc05=
37384 at lockmgr+0x541
#1 0xc06950ce at ffs_lock+0x59
#2 0xc0730898 at VOP_LOCK_APV+0x76
#3 0xc05045db at unionfs_lock+0xda
#4 0xc0730898 at VOP_LOCK_APV+0x76
#5 0xc05c7b22 at vn_lock+0x67
#6 0xc0511f5b at exec_elf32_imgact+0x219
#7 0xc05273e5 at kern_execve+0x428
#8 0xc052801e at execve+0x52
#9 0xc07161b3 at syscall+0x152
#10 0xc06fefef at Xint0x80_syscall+0x1f

        ino 1274323, on dev da0s1e
unionfs: lower
0xc86c7690: tag null, type VREG
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags ()
    v_object 0xc756cd20 ref 3 pages 8
    #0 0xc0537384 at lockmgr+0x541
#1 0xc06950ce at ffs_lock+0x59
#2 0xc0730898 at VOP_LOCK_APV+0x76
#3 0xc04f9da5 at null_lock+0xb6
#4 0xc0730898 at VOP_LOCK_APV+0x76
#5 0xc05c7b22 at vn_lock+0x67
#6 0xc0502c23 at unionfs_open+0x180
#7 0xc072e5eb at VOP_OPEN_APV+0x94
#8 0xc05265d7 at exec_check_permissions+0x107
#9 0xc05271d1 at kern_execve+0x214
#10 0xc052801e at execve+0x52
#11 0xc07161b3 at syscall+0x152
#12 0xc06fefef at Xint0x80_syscall+0x1f

        vp=3D0xc86c7690, lowervp=3D0xc7203000
db>

Core is available if you need it.

Kris
--a8Wt8u1KmwUX3Y2C
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFE+wppWry0BWjoQKURAjdcAJ0Xj3to+OQbXQ4LkPDZqREy7zGXgwCgzbv2
RUgqZeb9vicO9t9uOnNoy8M=
=1tBt
-----END PGP SIGNATURE-----

--a8Wt8u1KmwUX3Y2C--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060903170129.GA98917>