diff options
author | Luis Henriques <[email protected]> | 2021-03-26 17:46:45 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-26 10:46:45 -0700 |
commit | 2037edbdaa80f49dd83c82d283d269c6fa3f95d7 (patch) | |
tree | cd1a757dda00ee34db3ecfeb15f497558971b9d2 /module/os | |
parent | ef977fce66369e11769eaba0839dca19d4ddb484 (diff) |
Fix error code on __zpl_ioctl_setflags()
Other (all?) Linux filesystems seem to return -EPERM instead of -EACCESS
when trying to set FS_APPEND_FL or FS_IMMUTABLE_FL without the
CAP_LINUX_IMMUTABLE capability. This was detected by generic/545 test
in the fstest suite.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Luis Henriques <[email protected]>
Closes #11791
Diffstat (limited to 'module/os')
-rw-r--r-- | module/os/linux/zfs/zpl_file.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/os/linux/zfs/zpl_file.c b/module/os/linux/zfs/zpl_file.c index ea6993ffa..d042783da 100644 --- a/module/os/linux/zfs/zpl_file.c +++ b/module/os/linux/zfs/zpl_file.c @@ -867,7 +867,7 @@ __zpl_ioctl_setflags(struct inode *ip, uint32_t ioctl_flags, xvattr_t *xva) if ((fchange(ioctl_flags, zfs_flags, FS_IMMUTABLE_FL, ZFS_IMMUTABLE) || fchange(ioctl_flags, zfs_flags, FS_APPEND_FL, ZFS_APPENDONLY)) && !capable(CAP_LINUX_IMMUTABLE)) - return (-EACCES); + return (-EPERM); if (!zpl_inode_owner_or_capable(kcred->user_ns, ip)) return (-EACCES); |