X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fext2%2Fioctl.c;h=11ee1a253ce222bbb495873654269def0e43970a;hb=d46bc780027c5439db9f72d42c0732775b53925a;hp=101055bbf5194b63de5d11934eee7f867495f6f6;hpb=a8e794ca871505c8ea96cc102f4ad555c5231d7f;p=linux-2.6.git diff --git a/fs/ext2/ioctl.c b/fs/ext2/ioctl.c index 101055bbf..11ee1a253 100644 --- a/fs/ext2/ioctl.c +++ b/fs/ext2/ioctl.c @@ -49,7 +49,9 @@ int ext2_ioctl (struct inode * inode, struct file * filp, unsigned int cmd, * * This test looks nicer. Thanks to Pauline Middelink */ - if ((flags ^ oldflags) & (EXT2_APPEND_FL | EXT2_IMMUTABLE_FL)) { + if ((oldflags & EXT2_IMMUTABLE_FL) || + ((flags ^ oldflags) & + (EXT2_APPEND_FL | EXT2_IMMUTABLE_FL))) { if (!capable(CAP_LINUX_IMMUTABLE)) return -EPERM; }