summaryrefslogtreecommitdiffstats
path: root/fs/ext4/ioctl.c
diff options
context:
space:
mode:
authorWang Shilong <wshilong@ddn.com>2019-06-10 06:13:32 +0200
committerTheodore Ts'o <tytso@mit.edu>2019-06-10 06:13:32 +0200
commit7ddf79a103958ff7e529a3bc0c5b3d1e9cbc22c7 (patch)
treeee1c8feceb4f4a0126f56f6e401398178e2678e7 /fs/ext4/ioctl.c
parentext4: enforce the immutable flag on open files (diff)
downloadlinux-7ddf79a103958ff7e529a3bc0c5b3d1e9cbc22c7.tar.xz
linux-7ddf79a103958ff7e529a3bc0c5b3d1e9cbc22c7.zip
ext4: only set project inherit bit for directory
It doesn't make any sense to have project inherit bits for regular files, even though this won't cause any problem, but it is better fix this. Signed-off-by: Wang Shilong <wshilong@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Diffstat (limited to 'fs/ext4/ioctl.c')
-rw-r--r--fs/ext4/ioctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index 7af835ac8d23..74648d42c69b 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -779,6 +779,8 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
return ext4_ioc_getfsmap(sb, (void __user *)arg);
case EXT4_IOC_GETFLAGS:
flags = ei->i_flags & EXT4_FL_USER_VISIBLE;
+ if (S_ISREG(inode->i_mode))
+ flags &= ~EXT4_PROJINHERIT_FL;
return put_user(flags, (int __user *) arg);
case EXT4_IOC_SETFLAGS: {
int err;