From: Sam Vilain (sam_at_vilain.net)
Date: Tue 19 Oct 2004 - 05:17:18 BST
Here's the missing link.
This is tested as working, but needs to be ported to ext2, reiserfs, etc.
--- linux-2.6.9-final-vs1.9.3-rc3/fs/ext3/ioctl.c.orig 2004-10-19
16:15:58.000000000 +1300
+++ linux-2.6.9-final-vs1.9.3-rc3/fs/ext3/ioctl.c 2004-10-19
16:33:43.000000000 +1300
@@ -58,11 +58,11 @@
*
* This test looks nicer. Thanks to Pauline Middelink
*/
- if ((oldflags & EXT3_IMMUTABLE_FL) ||
+ if (((oldflags & EXT3_IMMUTABLE_FL) ||
((flags ^ oldflags) &
- (EXT3_APPEND_FL | EXT3_IMMUTABLE_FL))) {
- if (!capable(CAP_LINUX_IMMUTABLE))
- return -EPERM;
+ (EXT3_APPEND_FL | EXT3_IMMUTABLE_FL |
EXT3_IUNLINK_FL)))
+ && !capable(CAP_LINUX_IMMUTABLE)) {
+ return -EPERM;
}
/*
-- Sam Vilain, sam /\T vilain |><>T net, PGP key ID: 0x05B52F13 (include my PGP key ID in personal replies to avoid spam filtering) _______________________________________________ Vserver mailing list Vserver_at_list.linux-vserver.org http://list.linux-vserver.org/mailman/listinfo/vserver