···228228 seq_puts(seq, ",grpid");229229 if (!test_opt(sb, GRPID) && (def_mount_opts & EXT2_DEFM_BSDGROUPS))230230 seq_puts(seq, ",nogrpid");231231- if (sbi->s_resuid != EXT2_DEF_RESUID ||231231+ if (!uid_eq(sbi->s_resuid, make_kuid(&init_user_ns, EXT2_DEF_RESUID)) ||232232 le16_to_cpu(es->s_def_resuid) != EXT2_DEF_RESUID) {233233- seq_printf(seq, ",resuid=%u", sbi->s_resuid);233233+ seq_printf(seq, ",resuid=%u",234234+ from_kuid_munged(&init_user_ns, sbi->s_resuid));234235 }235235- if (sbi->s_resgid != EXT2_DEF_RESGID ||236236+ if (!gid_eq(sbi->s_resgid, make_kgid(&init_user_ns, EXT2_DEF_RESGID)) ||236237 le16_to_cpu(es->s_def_resgid) != EXT2_DEF_RESGID) {237237- seq_printf(seq, ",resgid=%u", sbi->s_resgid);238238+ seq_printf(seq, ",resgid=%u",239239+ from_kgid_munged(&init_user_ns, sbi->s_resgid));238240 }239241 if (test_opt(sb, ERRORS_RO)) {240242 int def_errors = le16_to_cpu(es->s_errors);···438436 struct ext2_sb_info *sbi = EXT2_SB(sb);439437 substring_t args[MAX_OPT_ARGS];440438 int option;439439+ kuid_t uid;440440+ kgid_t gid;441441442442 if (!options)443443 return 1;···466462 case Opt_resuid:467463 if (match_int(&args[0], &option))468464 return 0;469469- sbi->s_resuid = option;465465+ uid = make_kuid(current_user_ns(), option);466466+ if (!uid_valid(uid)) {467467+ ext2_msg(sb, KERN_ERR, "Invalid uid value %d", option);468468+ return -1;469469+470470+ }471471+ sbi->s_resuid = uid;470472 break;471473 case Opt_resgid:472474 if (match_int(&args[0], &option))473475 return 0;474474- sbi->s_resgid = option;476476+ gid = make_kgid(current_user_ns(), option);477477+ if (!gid_valid(gid)) {478478+ ext2_msg(sb, KERN_ERR, "Invalid gid value %d", option);479479+ return -1;480480+ }481481+ sbi->s_resgid = gid;475482 break;476483 case Opt_sb:477484 /* handled by get_sb_block() instead of here */···856841 else857842 set_opt(sbi->s_mount_opt, ERRORS_RO);858843859859- sbi->s_resuid = le16_to_cpu(es->s_def_resuid);860860- sbi->s_resgid = le16_to_cpu(es->s_def_resgid);844844+ sbi->s_resuid = make_kuid(&init_user_ns, le16_to_cpu(es->s_def_resuid));845845+ sbi->s_resgid = make_kgid(&init_user_ns, le16_to_cpu(es->s_def_resgid));861846862847 set_opt(sbi->s_mount_opt, RESERVATION);863848
-1
init/Kconfig
···929929 depends on ECRYPT_FS = n930930 depends on EFS_FS = n931931 depends on EXOFS_FS = n932932- depends on EXT2_FS = n933932 depends on EXT3_FS = n934933 depends on EXT4_FS = n935934 depends on FAT_FS = n