diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/fs/zfs/zfs_acl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/zfs/zfs_acl.c b/usr/src/uts/common/fs/zfs/zfs_acl.c index 82f2c17b19..12ffe9f30a 100644 --- a/usr/src/uts/common/fs/zfs/zfs_acl.c +++ b/usr/src/uts/common/fs/zfs/zfs_acl.c @@ -2491,6 +2491,9 @@ zfs_fastaccesschk_execute(znode_t *zdp, cred_t *cr) if (zdp->z_phys->zp_mode & S_IXUSR) { mutex_exit(&zdp->z_acl_lock); return (0); + } else { + mutex_exit(&zdp->z_acl_lock); + goto slow; } } if (groupmember(gowner, cr)) { @@ -2498,6 +2501,9 @@ zfs_fastaccesschk_execute(znode_t *zdp, cred_t *cr) if (zdp->z_phys->zp_mode & S_IXGRP) { mutex_exit(&zdp->z_acl_lock); return (0); + } else { + mutex_exit(&zdp->z_acl_lock); + goto slow; } } if (!owner && !groupmbr) { |