Re: [ANN] unionfs patchset-11 release

From: Kris Kennaway <kris_at_obsecurity.org>
Date: Tue, 25 Apr 2006 13:55:53 -0400
On Tue, Apr 25, 2006 at 09:19:06PM +0900, Daichi GOTO wrote:
> It is my pleasure and honor to announce the availability of
> the unionfs patchset-11.
> 
> Patchset-11:
>    For 7-current
>      http://people.freebsd.org/~daichi/unionfs/unionfs-p11.diff
> 
>    For 6.x
>      http://people.freebsd.org/~daichi/unionfs/unionfs6-p11.diff
> 
>    Changes in unionfs-p11.diff
>      - Changed a few implementations around the lock/unlock
>        mechanism. Because of this, you can use both the unionfs
>        and the nullfs together without LK_CANRECURSE.
>      - Fixed a bug that sometimes does not unlock if it cannot
>        create shadow file.

I still get a panic immediately upon use:

KDB: stack backtrace:
vfs_badlock(cdef7540,ee22b9c4,c07a60e0,cdef7540,0) at vfs_badlock+0x76
assert_vop_locked(cdef7540,c0765a3d,220,cdef7540,d12ed380) at assert_vop_locked+0x60
VOP_OPEN_APV(c077acc0,ee22ba1c,d0456c28,0,c68a2510) at VOP_OPEN_APV+0x87
union_open(ee22ba74,c0765a3d,ee22bbfc,47ec,cdf1a690) at union_open+0xa2
VOP_OPEN_APV(c077b6a0,ee22ba74,c07a5f60,cdf1a690,1) at VOP_OPEN_APV+0x94
exec_check_permissions(ee22bba8,0,c073c75f,143,d1921000) at exec_check_permissions+0x107
kern_execve(c68a2510,ee22bc60,0,bfbfe910,bfbfea0c,e87b9000,e87b9000,e87b9038,e87b94e9,e87f9000,3fb17,4,39) at kern_execve+0x214
execve(c68a2510,ee22bd04,c,ee22bd38,3) at execve+0x52
syscall(3b,3b,3b,bfbfe90c,bfbfecc7) at syscall+0x163
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (59, FreeBSD ELF32, execve), eip = 0x280d493b, esp = 0xbfbfe37c, ebp = 0xbfbfe828 ---
VOP_OPEN: 0xcdef7540 is not locked but should be

db> show lockedvnods
Locked vnodes

0xd0456bd0: tag ufs, type VREG
    usecount 1, writecount 0, refcount 4 mountedhere 0
    flags ()
    v_object 0xcf9c1960 ref 0 pages 5
     lock type ufs: EXCL (count 1) by thread 0xc68a2510 (pid 5593)#0 0xc053248e at lockmgr+0x573
#1 0xc059f9d4 at vop_stdlock+0x32
#2 0xc071541a at VOP_LOCK_APV+0x76
#3 0xc0681146 at ffs_lock+0x19
#4 0xc071541a at VOP_LOCK_APV+0x76
#5 0xc04ff967 at union_lock+0xda
#6 0xc071541a at VOP_LOCK_APV+0x76
#7 0xc05b793a at vn_lock+0x67
#8 0xc05ab84b at vget+0x77
#9 0xc04fab14 at union_nodeget+0x682
#10 0xc04fd98a at union_lookup+0x5e6
#11 0xc0712034 at VOP_LOOKUP_APV+0x76
#12 0xc05a1588 at lookup+0x343
#13 0xc05a21f3 at namei+0x330
#14 0xc0522983 at kern_execve+0x1e4
#15 0xc05236ee at execve+0x52
#16 0xc06fc295 at syscall+0x163
#17 0xc06e5fdf at Xint0x80_syscall+0x1f

        ino 2805716, on dev da0s1e

0xcdf1a690: tag unionfs, type VREG
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags (VV_TEXT)
    v_object 0xcf9544b0 ref 0 pages 5
     lock type ufs: EXCL (count 1) by thread 0xc68a2510 (pid 5593)#0 0xc053248e at lockmgr+0x573
#1 0xc059f9d4 at vop_stdlock+0x32
#2 0xc071541a at VOP_LOCK_APV+0x76
#3 0xc0681146 at ffs_lock+0x19
#4 0xc071541a at VOP_LOCK_APV+0x76
#5 0xc04ff967 at union_lock+0xda
#6 0xc071541a at VOP_LOCK_APV+0x76
#7 0xc05b793a at vn_lock+0x67
#8 0xc05ab84b at vget+0x77
#9 0xc04fab14 at union_nodeget+0x682
#10 0xc04fd98a at union_lookup+0x5e6
#11 0xc0712034 at VOP_LOOKUP_APV+0x76
#12 0xc05a1588 at lookup+0x343
#13 0xc05a21f3 at namei+0x330
#14 0xc0522983 at kern_execve+0x1e4
#15 0xc05236ee at execve+0x52
#16 0xc06fc295 at syscall+0x163
#17 0xc06e5fdf at Xint0x80_syscall+0x1f

union_vp=0xcdf1a690, uppervp=0xd0456bd0, lowervp=0xcdef7540
union: upper
0xd0456bd0: tag ufs, type VREG
    usecount 1, writecount 0, refcount 4 mountedhere 0
    flags ()
    v_object 0xcf9c1960 ref 0 pages 5
     lock type ufs: EXCL (count 1) by thread 0xc68a2510 (pid 5593)#0 0xc053248e at lockmgr+0x573
#1 0xc059f9d4 at vop_stdlock+0x32
#2 0xc071541a at VOP_LOCK_APV+0x76
#3 0xc0681146 at ffs_lock+0x19
#4 0xc071541a at VOP_LOCK_APV+0x76
#5 0xc04ff967 at union_lock+0xda
#6 0xc071541a at VOP_LOCK_APV+0x76
#7 0xc05b793a at vn_lock+0x67
#8 0xc05ab84b at vget+0x77
#9 0xc04fab14 at union_nodeget+0x682
#10 0xc04fd98a at union_lookup+0x5e6
#11 0xc0712034 at VOP_LOOKUP_APV+0x76
#12 0xc05a1588 at lookup+0x343
#13 0xc05a21f3 at namei+0x330
#14 0xc0522983 at kern_execve+0x1e4
#15 0xc05236ee at execve+0x52
#16 0xc06fc295 at syscall+0x163
#17 0xc06e5fdf at Xint0x80_syscall+0x1f

        ino 2805716, on dev da0s1e
union: lower
0xcdef7540: tag null, type VREG
    usecount 1, writecount 0, refcount 1 mountedhere 0
    flags ()
    v_object 0xcf9544b0 ref 0 pages 5
    #0 0xc053248e at lockmgr+0x573
#1 0xc059f9d4 at vop_stdlock+0x32
#2 0xc071541a at VOP_LOCK_APV+0x76
#3 0xc0681146 at ffs_lock+0x19
#4 0xc071541a at VOP_LOCK_APV+0x76
#5 0xc05b793a at vn_lock+0x67
#6 0xc05ab84b at vget+0x77
#7 0xc059c93c at cache_lookup+0xe7
#8 0xc059d28f at vfs_cache_lookup+0xad
#9 0xc0712034 at VOP_LOOKUP_APV+0x76
#10 0xc04f50a1 at null_lookup+0x6c
#11 0xc0712034 at VOP_LOOKUP_APV+0x76
#12 0xc04fd762 at union_lookup+0x3be
#13 0xc0712034 at VOP_LOOKUP_APV+0x76
#14 0xc05a1588 at lookup+0x343
#15 0xc05a21f3 at namei+0x330
#16 0xc0522983 at kern_execve+0x1e4
#17 0xc05236ee at execve+0x52

        vp=0xcdef7540, lowervp=0xcdef73f0
db>
db> show allpcpu
Current CPU: 1

cpuid        = 0
curthread    = 0xc63caa20: pid 13 "idle: cpu0"
curpcb       = 0xea408d90
fpcurthread  = none
idlethread   = 0xc63caa20: pid 13 "idle: cpu0"
APIC ID      = 0
currentldt   = 0x50
spin locks held:

cpuid        = 1
curthread    = 0xc68a2510: pid 5593 "chroot"
curpcb       = 0xee22bd90
fpcurthread  = none
idlethread   = 0xc63ca870: pid 12 "idle: cpu1"
APIC ID      = 1
currentldt   = 0x50
spin locks held:

cpuid        = 2
curthread    = 0xc63ca6c0: pid 11 "idle: cpu2"
curpcb       = 0xea402d90
fpcurthread  = none
idlethread   = 0xc63ca6c0: pid 11 "idle: cpu2"
APIC ID      = 2
currentldt   = 0x50
spin locks held:
exclusive spin mutex sio r = 0 (0xc080f588) locked _at_ dev/sio/sio.c:1390

cpuid        = 3
curthread    = 0xc63cabd0: pid 14 "swi4: clock sio"
curpcb       = 0xea40bd90
fpcurthread  = none
idlethread   = 0xc63ca510: pid 10 "idle: cpu3"
APIC ID      = 3
currentldt   = 0x50
spin locks held:

db>

Kris
Received on Tue Apr 25 2006 - 15:56:05 UTC

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