[PATCH] reiserfs: Check if attrs are enabled for attr ioctls
ReiserFS currently will allow the user to set/get attrs for files regardless if they are enabled. The patch checks to see if they are enabled, and returns -NOTTY if they are not. ext[23] doesn't need this check because attrs are always enabled. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
0b35ff23b2
commit
869eb76e7b
1 changed files with 6 additions and 0 deletions
|
@ -36,10 +36,16 @@ int reiserfs_ioctl (struct inode * inode, struct file * filp, unsigned int cmd,
|
||||||
/* following two cases are taken from fs/ext2/ioctl.c by Remy
|
/* following two cases are taken from fs/ext2/ioctl.c by Remy
|
||||||
Card (card@masi.ibp.fr) */
|
Card (card@masi.ibp.fr) */
|
||||||
case REISERFS_IOC_GETFLAGS:
|
case REISERFS_IOC_GETFLAGS:
|
||||||
|
if (!reiserfs_attrs (inode->i_sb))
|
||||||
|
return -ENOTTY;
|
||||||
|
|
||||||
flags = REISERFS_I(inode) -> i_attrs;
|
flags = REISERFS_I(inode) -> i_attrs;
|
||||||
i_attrs_to_sd_attrs( inode, ( __u16 * ) &flags );
|
i_attrs_to_sd_attrs( inode, ( __u16 * ) &flags );
|
||||||
return put_user(flags, (int __user *) arg);
|
return put_user(flags, (int __user *) arg);
|
||||||
case REISERFS_IOC_SETFLAGS: {
|
case REISERFS_IOC_SETFLAGS: {
|
||||||
|
if (!reiserfs_attrs (inode->i_sb))
|
||||||
|
return -ENOTTY;
|
||||||
|
|
||||||
if (IS_RDONLY(inode))
|
if (IS_RDONLY(inode))
|
||||||
return -EROFS;
|
return -EROFS;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue