summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/zfs/zfs_acl.c6
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) {