if (unlikely(ext4_forced_shutdown(sbi)))
return ERR_PTR(-EIO);
+ /* Supplied owner must be valid */
+ if (owner && (owner[0] == (uid_t)-1 || owner[1] == (uid_t)-1))
+ return ERR_PTR(-EOVERFLOW);
+
if ((ext4_encrypted_inode(dir) || DUMMY_ENCRYPTION_ENABLED(sbi)) &&
(S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode)) &&
!(i_flags & EXT4_EA_INODE_FL)) {
ext4_test_inode_flag(dir, EXT4_INODE_PROJINHERIT))
ei->i_projid = EXT4_I(dir)->i_projid;
else
- ei->i_projid = make_kprojid(&init_user_ns, EXT4_DEF_PROJID);
+ ei->i_projid = make_kprojid(sb->s_user_ns, EXT4_DEF_PROJID);
err = dquot_initialize(inode);
if (err)