OpenSolaris

Printable Version Enter a New Search
Bug ID 6664043
Synopsis acl_trivial misses some non-trivial ACLs
State 10-Fix Delivered (Fix available in build)
Category:Subcategory library:other
Keywords
Responsible Engineer Mark Shellenbaum
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_85
Fixed In snv_85
Release Fixed solaris_nevada(snv_85) , solaris_10u6(s10u6_03) (Bug ID:2162009)
Related Bugs 6794717
Submit Date 15-February-2008
Last Update Date 12-March-2008
Description
The acl_trivial() interface doesn't always determine trivialness correctly.

For example an ACL composed of the three entries such as:

$ ls -V file.3
-rwxrwxr--   1 2147483649 2147483650       8 Feb 15 10:42 file.3
            owner@:rwxp----------:------I:allow
            group@:rwxp----------:------I:allow
         everyone@:r-----a-R-c---:-------:allow

is being reported as a trivial ACL.  This should be a non-trivial ACL, since there are no deny entries to prevent the owner or group owner from picking up read_attributes, read_acl, or read_xattr from the everyone@ entry.
ace_walk was called with these args:
ace_walk(ffffff01f3080fb0, 6, 6, fffffffffbc43c2c, fffffffffbc43c34)
Got the bufctl for ffffff01f3080fb0, and it shows that it was allocated from:

kmem_slab_alloc+159
kmem_cache_alloc+137
kmem_alloc+88
zfs`zfs_getacl+198
zfs`zfs_getsecattr+81
fop_getsecattr+8f
fs_acl_nontrivial+c4
devfs`dv_shadow_node+289
devfs`dv_find+4c2
devfs`devfs_lookup+39
fop_lookup+f2
...
ldi_vp_from_name+8f
Work Around
N/A
Comments
N/A