hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/fs/ocfs2/ioctl.c
....@@ -106,16 +106,9 @@
106106 flags = flags & mask;
107107 flags |= oldflags & ~mask;
108108
109
- /*
110
- * The IMMUTABLE and APPEND_ONLY flags can only be changed by
111
- * the relevant capability.
112
- */
113
- status = -EPERM;
114
- if ((oldflags & OCFS2_IMMUTABLE_FL) || ((flags ^ oldflags) &
115
- (OCFS2_APPEND_FL | OCFS2_IMMUTABLE_FL))) {
116
- if (!capable(CAP_LINUX_IMMUTABLE))
117
- goto bail_unlock;
118
- }
109
+ status = vfs_ioc_setflags_prepare(inode, oldflags, flags);
110
+ if (status)
111
+ goto bail_unlock;
119112
120113 handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
121114 if (IS_ERR(handle)) {
....@@ -992,6 +985,7 @@
992985 return -EFAULT;
993986
994987 return ocfs2_info_handle(inode, &info, 1);
988
+ case FITRIM:
995989 case OCFS2_IOC_MOVE_EXT:
996990 break;
997991 default: