diff options
author | Andrew <[email protected]> | 2021-03-20 01:50:46 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-19 22:50:46 -0700 |
commit | 66e6d3f128f22262e4be564c40ddc708725b6ed3 (patch) | |
tree | 79ce35bfca63c92579edf42eb67683a43113506c /tests/runfiles/sanity.run | |
parent | c23850759fbd5e4d6d45bbe73a75d2085f2a170b (diff) |
Fix regression in POSIX mode behavior
Commit 235a85657 introduced a regression in evaluation of POSIX modes
that require group DENY entries in the internal ZFS ACL. An example
of such a POSX mode is 007. When write_implies_delete_child is set,
then ACE_WRITE_DATA is added to `wanted_dirperms` in prior to calling
zfs_zaccess_common(). This occurs is zfs_zaccess_delete().
Unfortunately, when zfs_zaccess_aces_check hits this particular DENY
ACE, zfs_groupmember() is checked to determine whether access should be
denied, and since zfs_groupmember() always returns B_TRUE on Linux and
so this check is failed, resulting ultimately in EPERM being returned.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Andrew Walker <[email protected]>
Closes #11760
Diffstat (limited to 'tests/runfiles/sanity.run')
-rw-r--r-- | tests/runfiles/sanity.run | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/runfiles/sanity.run b/tests/runfiles/sanity.run index 3200261d8..e32cf5f62 100644 --- a/tests/runfiles/sanity.run +++ b/tests/runfiles/sanity.run @@ -30,6 +30,10 @@ failsafe = callbacks/zfs_failsafe outputdir = /var/tmp/test_results tags = ['functional'] +[tests/functional/acl/off] +tests = ['posixmode'] +tags = ['functional', 'acl'] + [tests/functional/alloc_class] tests = ['alloc_class_003_pos', 'alloc_class_004_pos', 'alloc_class_005_pos', 'alloc_class_006_pos', 'alloc_class_008_pos', 'alloc_class_010_pos', |