* the relevant capability.
*/
if ((jflag ^ oldflags) & (EXT4_JOURNAL_DATA_FL)) {
- if (!capable(CAP_SYS_RESOURCE))
+ if (!ns_capable(inode->i_sb->s_user_ns, CAP_SYS_RESOURCE))
goto flags_out;
}
if ((flags ^ oldflags) & EXT4_EXTENTS_FL)
if (EXT4_INODE_SIZE(sb) <= EXT4_GOOD_OLD_INODE_SIZE)
return -EOPNOTSUPP;
- kprojid = make_kprojid(&init_user_ns, (projid_t)projid);
+ kprojid = make_kprojid(sb->s_user_ns, (projid_t)projid);
+ if (!projid_valid(kprojid))
+ return -EOVERFLOW;
if (projid_eq(kprojid, EXT4_I(inode)->i_projid))
return 0;
struct fstrim_range range;
int ret = 0;
- if (!capable(CAP_SYS_ADMIN))
+ if (!ns_capable(sb->s_user_ns, CAP_SYS_ADMIN))
return -EPERM;
if (!blk_queue_discard(q))
fa.fsx_xflags = ext4_iflags_to_xflags(ei->i_flags & EXT4_FL_USER_VISIBLE);
if (ext4_has_feature_project(inode->i_sb)) {
- fa.fsx_projid = (__u32)from_kprojid(&init_user_ns,
+ fa.fsx_projid = (__u32)from_kprojid_munged(sb->s_user_ns,
EXT4_I(inode)->i_projid);
}