hc
2024-02-19 1c055e55a242a33e574e48be530e06770a210dcd
kernel/fs/reiserfs/ioctl.c
....@@ -74,13 +74,11 @@
7474 err = -EPERM;
7575 goto setflags_out;
7676 }
77
- if (((flags ^ REISERFS_I(inode)->
78
- i_attrs) & (REISERFS_IMMUTABLE_FL |
79
- REISERFS_APPEND_FL))
80
- && !capable(CAP_LINUX_IMMUTABLE)) {
81
- err = -EPERM;
77
+ err = vfs_ioc_setflags_prepare(inode,
78
+ REISERFS_I(inode)->i_attrs,
79
+ flags);
80
+ if (err)
8281 goto setflags_out;
83
- }
8482 if ((flags & REISERFS_NOTAIL_FL) &&
8583 S_ISREG(inode->i_mode)) {
8684 int result;
....@@ -186,11 +184,12 @@
186184 }
187185
188186 /* we need to make sure nobody is changing the file size beneath us */
189
-{
190
- int depth = reiserfs_write_unlock_nested(inode->i_sb);
191
- inode_lock(inode);
192
- reiserfs_write_lock_nested(inode->i_sb, depth);
193
-}
187
+ {
188
+ int depth = reiserfs_write_unlock_nested(inode->i_sb);
189
+
190
+ inode_lock(inode);
191
+ reiserfs_write_lock_nested(inode->i_sb, depth);
192
+ }
194193
195194 reiserfs_write_lock(inode->i_sb);
196195