capable of setting the immutable bit, can set the immulink bit
From: Sam Vilain <sam@vilain.net>
Re: [Vserver] [PATCH] immulink ioctl is not available on vs1.9.3-rc2, even with CONFIG_VSERVER_LEGACY
To: vserver@list.linux-vserver.org
Date: 10/19/04 12:17 am
Here's the missing link.
*
* This test looks nicer. Thanks to Pauline Middelink
*/
- if ((oldflags & EXT2_IMMUTABLE_FL) ||
+ if (((oldflags & EXT2_IMMUTABLE_FL) ||
((flags ^ oldflags) &
- (EXT2_APPEND_FL | EXT2_IMMUTABLE_FL))) {
- if (!capable(CAP_LINUX_IMMUTABLE))
- return -EPERM;
+ (EXT2_APPEND_FL | EXT2_IMMUTABLE_FL | EXT2_IUNLINK_FL)))
+ && !capable(CAP_LINUX_IMMUTABLE)) {
+ return -EPERM;
}
flags = flags & EXT2_FL_USER_MODIFIABLE;
*
* 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;
}
/*