Got it. I'm very glad you found that 8)
--- fs/ext2/inode.c.old Tue Jul 20 06:23:19 1999
+++ fs/ext2/inode.c Wed Jul 21 05:55:27 1999
@@ -707,15 +707,18 @@
unsigned int flags;
retval = -EPERM;
- if (iattr->ia_valid & ATTR_ATTR_FLAG &&
- ((!(iattr->ia_attr_flags & ATTR_FLAG_APPEND) !=
+ if (iattr->ia_valid & ATTR_ATTR_FLAG)
+ {
+ if((!(iattr->ia_attr_flags & ATTR_FLAG_APPEND) !=
!(inode->u.ext2_i.i_flags & EXT2_APPEND_FL)) ||
- (!(iattr->ia_attr_flags & ATTR_FLAG_IMMUTABLE) !=
- !(inode->u.ext2_i.i_flags & EXT2_IMMUTABLE_FL)))) {
+ (!(iattr->ia_attr_flags & ATTR_FLAG_IMMUTABLE) !=
+ !(inode->u.ext2_i.i_flags & EXT2_IMMUTABLE_FL))) {
if (!capable(CAP_LINUX_IMMUTABLE))
goto out;
- } else if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
+ }
+ else if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER))
goto out;
+ }
if (iattr->ia_valid & ATTR_SIZE) {
off_t size = iattr->ia_size;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/