Loading fs/gfs2/file.c +7 −0 Original line number Original line Diff line number Diff line Loading @@ -218,6 +218,11 @@ static int do_gfs2_set_flags(struct file *filp, u32 reqflags, u32 mask) if (error) if (error) goto out_drop_write; goto out_drop_write; error = -EACCES; if (!is_owner_or_cap(inode)) goto out; error = 0; flags = ip->i_diskflags; flags = ip->i_diskflags; new_flags = (flags & ~mask) | (reqflags & mask); new_flags = (flags & ~mask) | (reqflags & mask); if ((new_flags ^ flags) == 0) if ((new_flags ^ flags) == 0) Loading Loading @@ -275,8 +280,10 @@ static int gfs2_set_flags(struct file *filp, u32 __user *ptr) { { struct inode *inode = filp->f_path.dentry->d_inode; struct inode *inode = filp->f_path.dentry->d_inode; u32 fsflags, gfsflags; u32 fsflags, gfsflags; if (get_user(fsflags, ptr)) if (get_user(fsflags, ptr)) return -EFAULT; return -EFAULT; gfsflags = fsflags_cvt(fsflags_to_gfs2, fsflags); gfsflags = fsflags_cvt(fsflags_to_gfs2, fsflags); if (!S_ISDIR(inode->i_mode)) { if (!S_ISDIR(inode->i_mode)) { if (gfsflags & GFS2_DIF_INHERIT_JDATA) if (gfsflags & GFS2_DIF_INHERIT_JDATA) Loading Loading
fs/gfs2/file.c +7 −0 Original line number Original line Diff line number Diff line Loading @@ -218,6 +218,11 @@ static int do_gfs2_set_flags(struct file *filp, u32 reqflags, u32 mask) if (error) if (error) goto out_drop_write; goto out_drop_write; error = -EACCES; if (!is_owner_or_cap(inode)) goto out; error = 0; flags = ip->i_diskflags; flags = ip->i_diskflags; new_flags = (flags & ~mask) | (reqflags & mask); new_flags = (flags & ~mask) | (reqflags & mask); if ((new_flags ^ flags) == 0) if ((new_flags ^ flags) == 0) Loading Loading @@ -275,8 +280,10 @@ static int gfs2_set_flags(struct file *filp, u32 __user *ptr) { { struct inode *inode = filp->f_path.dentry->d_inode; struct inode *inode = filp->f_path.dentry->d_inode; u32 fsflags, gfsflags; u32 fsflags, gfsflags; if (get_user(fsflags, ptr)) if (get_user(fsflags, ptr)) return -EFAULT; return -EFAULT; gfsflags = fsflags_cvt(fsflags_to_gfs2, fsflags); gfsflags = fsflags_cvt(fsflags_to_gfs2, fsflags); if (!S_ISDIR(inode->i_mode)) { if (!S_ISDIR(inode->i_mode)) { if (gfsflags & GFS2_DIF_INHERIT_JDATA) if (gfsflags & GFS2_DIF_INHERIT_JDATA) Loading