>Number:         171380
>Category:       kern
>Synopsis:       [ZFS] 9.1: Panic when importing pool from 
>OpenSolaris/OpenIndiana that has multiple FUID domains
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 06 13:30:01 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Bryan Drewery
>Release:        FreeBSD 9.1-PRERELEASE amd64
>Organization:
>Environment:

        
>Description:
        I imported a ZFS pool from an OpenIndiana system. When I tried to 
traverse into a certain directory, the system would panic:

            panic: avl_find() succeeded inside avl_add()
            avl_add+0x4b
            zfs_fuid_table_load+0x198
            zfs_fuid_init+0x12c
            zfs_fuid_find_by_idx+0xc7
            zfs_fuid_map_id+0x19
            zfs_groupmember+0x16
            zfs_zaccess_aces_check+0x196
            zfs_zaccess+0xc6
            zfs_freebsd_getattr+0x1c1
            ugidfw_check_vp+0x6c
            mac_vnode_check_stat+0xa7
            vn_stat+0x39
            kern_statat_vnhook+0xf9
            kern_statat+0x15
            sys_stat+0x2a
            amd64_syscall+0x540

        I disabled MAC/ugidfw and still had the issue:

            panic: avl_find() succeeded inside avl_add()
            avl_add+0x4b
            zfs_fuid_table_load+0x198
            zfs_fuid_init+0x12c
            zfs_fuid_find_by_idx+0xc7
            zfs_fuid_map_id+0x19
            zfs_groupmember+0x16
            zfs_zaccess_aces_check+0x196
            zfs_zaccess+0xc6
            zfs_freebsd_getattr+0x1c1
            vn_stat+0x6a
            kern_statat_vnhook+0xf9
            kern_statat+0x15
            sys_lstat+0x2a
            amd64_syscall+0x540


        The code that is causing issue is with importing FUIDs that have 
different domains. The FreeBSD code hardcodes "FreeBSD" as the domain, so 
importing two objects with two different domains, results in "FreeBSD" added to 
the avl tree twice, resulting in the panic.

>How-To-Repeat:
        I've tried several times to create a pool on OpenSolaris 111,134 and 
OpenIndiana 151 with ACLs and modifying the ACLs over CIFS. I'm pretty certain 
that CIFS-created files are a major factor here. None of these datasets results 
in the panic though. I admit I am unclear where this FUID domain comes from, so 
I am unable to properly produce a dataset needed to produce the issue.
>Fix:

        The panic was fixed by r230454 in HEAD on Jan 22 2012. MFCing it fixes 
it. After applying to my machine, I was able to traverse into these 
directories/files.


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to