|
@@ -620,12 +620,16 @@ spufs_parse_options(struct super_block *sb, char *options, struct inode *root)
|
|
|
case Opt_uid:
|
|
|
if (match_int(&args[0], &option))
|
|
|
return 0;
|
|
|
- root->i_uid = option;
|
|
|
+ root->i_uid = make_kuid(current_user_ns(), option);
|
|
|
+ if (!uid_valid(root->i_uid))
|
|
|
+ return 0;
|
|
|
break;
|
|
|
case Opt_gid:
|
|
|
if (match_int(&args[0], &option))
|
|
|
return 0;
|
|
|
- root->i_gid = option;
|
|
|
+ root->i_gid = make_kgid(current_user_ns(), option);
|
|
|
+ if (!gid_valid(root->i_gid))
|
|
|
+ return 0;
|
|
|
break;
|
|
|
case Opt_mode:
|
|
|
if (match_octal(&args[0], &option))
|