Merge tag 'vfs-5.15-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Aug 2021 18:06:32 +0000 (11:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Aug 2021 18:06:32 +0000 (11:06 -0700)
Pull project quota update from Darrick Wong:
 "A single VFS patch that prevents userspace from setting project quota
  ids on files that the VFS considers invalid"

* tag 'vfs-5.15-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  fs: forbid invalid project ID

fs/ioctl.c

index eea8267..504e695 100644 (file)
@@ -614,6 +614,14 @@ static int fileattr_set_prepare(struct inode *inode,
                if ((old_ma->fsx_xflags ^ fa->fsx_xflags) &
                                FS_XFLAG_PROJINHERIT)
                        return -EINVAL;
+       } else {
+               /*
+                * Caller is allowed to change the project ID. If it is being
+                * changed, make sure that the new value is valid.
+                */
+               if (old_ma->fsx_projid != fa->fsx_projid &&
+                   !projid_valid(make_kprojid(&init_user_ns, fa->fsx_projid)))
+                       return -EINVAL;
        }
 
        /* Check extent size hints. */