Loading arch/s390/hypfs/inode.c +14 −6 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ static struct dentry *hypfs_create_update_file(struct super_block *sb, struct dentry *dir); struct hypfs_sb_info { uid_t uid; /* uid used for files and dirs */ gid_t gid; /* gid used for files and dirs */ kuid_t uid; /* uid used for files and dirs */ kgid_t gid; /* gid used for files and dirs */ struct dentry *update_file; /* file to trigger update */ time_t last_update; /* last update time in secs since 1970 */ struct mutex lock; /* lock to protect update process */ Loading Loading @@ -229,6 +229,8 @@ static int hypfs_parse_options(char *options, struct super_block *sb) { char *str; substring_t args[MAX_OPT_ARGS]; kuid_t uid; kgid_t gid; if (!options) return 0; Loading @@ -243,12 +245,18 @@ static int hypfs_parse_options(char *options, struct super_block *sb) case opt_uid: if (match_int(&args[0], &option)) return -EINVAL; hypfs_info->uid = option; uid = make_kuid(current_user_ns(), option); if (!uid_valid(uid)) return -EINVAL; hypfs_info->uid = uid; break; case opt_gid: if (match_int(&args[0], &option)) return -EINVAL; hypfs_info->gid = option; gid = make_kgid(current_user_ns(), option); if (!gid_valid(gid)) return -EINVAL; hypfs_info->gid = gid; break; case opt_err: default: Loading @@ -263,8 +271,8 @@ static int hypfs_show_options(struct seq_file *s, struct dentry *root) { struct hypfs_sb_info *hypfs_info = root->d_sb->s_fs_info; seq_printf(s, ",uid=%u", hypfs_info->uid); seq_printf(s, ",gid=%u", hypfs_info->gid); seq_printf(s, ",uid=%u", from_kuid_munged(&init_user_ns, hypfs_info->uid)); seq_printf(s, ",gid=%u", from_kgid_munged(&init_user_ns, hypfs_info->gid)); return 0; } Loading Loading
arch/s390/hypfs/inode.c +14 −6 Original line number Diff line number Diff line Loading @@ -31,8 +31,8 @@ static struct dentry *hypfs_create_update_file(struct super_block *sb, struct dentry *dir); struct hypfs_sb_info { uid_t uid; /* uid used for files and dirs */ gid_t gid; /* gid used for files and dirs */ kuid_t uid; /* uid used for files and dirs */ kgid_t gid; /* gid used for files and dirs */ struct dentry *update_file; /* file to trigger update */ time_t last_update; /* last update time in secs since 1970 */ struct mutex lock; /* lock to protect update process */ Loading Loading @@ -229,6 +229,8 @@ static int hypfs_parse_options(char *options, struct super_block *sb) { char *str; substring_t args[MAX_OPT_ARGS]; kuid_t uid; kgid_t gid; if (!options) return 0; Loading @@ -243,12 +245,18 @@ static int hypfs_parse_options(char *options, struct super_block *sb) case opt_uid: if (match_int(&args[0], &option)) return -EINVAL; hypfs_info->uid = option; uid = make_kuid(current_user_ns(), option); if (!uid_valid(uid)) return -EINVAL; hypfs_info->uid = uid; break; case opt_gid: if (match_int(&args[0], &option)) return -EINVAL; hypfs_info->gid = option; gid = make_kgid(current_user_ns(), option); if (!gid_valid(gid)) return -EINVAL; hypfs_info->gid = gid; break; case opt_err: default: Loading @@ -263,8 +271,8 @@ static int hypfs_show_options(struct seq_file *s, struct dentry *root) { struct hypfs_sb_info *hypfs_info = root->d_sb->s_fs_info; seq_printf(s, ",uid=%u", hypfs_info->uid); seq_printf(s, ",gid=%u", hypfs_info->gid); seq_printf(s, ",uid=%u", from_kuid_munged(&init_user_ns, hypfs_info->uid)); seq_printf(s, ",gid=%u", from_kgid_munged(&init_user_ns, hypfs_info->gid)); return 0; } Loading