fat: Convert to new uid/gid option parsing helpers
authorEric Sandeen <sandeen@redhat.com>
Tue, 2 Jul 2024 22:45:57 +0000 (17:45 -0500)
committerChristian Brauner <brauner@kernel.org>
Wed, 3 Jul 2024 08:48:59 +0000 (10:48 +0200)
Convert to new uid/gid option parsing helpers

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Link: https://lore.kernel.org/r/1a67d2a8-0aae-42a2-9c0f-21cd4cd87d13@redhat.com
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/fat/inode.c

index b83b39f2f69ba74d2ba4d77e88664de59219c511..8fbf5edb7aa2292b1da70699423bf816ae940e8f 100644 (file)
@@ -1091,8 +1091,8 @@ static const struct constant_table fat_param_conv[] = {
 /* Core options. See below for vfat and msdos extras */
 const struct fs_parameter_spec fat_param_spec[] = {
        fsparam_enum    ("check",       Opt_check, fat_param_check),
-       fsparam_u32     ("uid",         Opt_uid),
-       fsparam_u32     ("gid",         Opt_gid),
+       fsparam_uid     ("uid",         Opt_uid),
+       fsparam_gid     ("gid",         Opt_gid),
        fsparam_u32oct  ("umask",       Opt_umask),
        fsparam_u32oct  ("dmask",       Opt_dmask),
        fsparam_u32oct  ("fmask",       Opt_fmask),
@@ -1161,8 +1161,6 @@ int fat_parse_param(struct fs_context *fc, struct fs_parameter *param,
        struct fat_mount_options *opts = fc->fs_private;
        struct fs_parse_result result;
        int opt;
-       kuid_t uid;
-       kgid_t gid;
 
        /* remount options have traditionally been ignored */
        if (fc->purpose == FS_CONTEXT_FOR_RECONFIGURE)
@@ -1209,16 +1207,10 @@ int fat_parse_param(struct fs_context *fc, struct fs_parameter *param,
                opts->sys_immutable = 1;
                break;
        case Opt_uid:
-               uid = make_kuid(current_user_ns(), result.uint_32);
-               if (!uid_valid(uid))
-                       return -EINVAL;
-               opts->fs_uid = uid;
+               opts->fs_uid = result.uid;
                break;
        case Opt_gid:
-               gid = make_kgid(current_user_ns(), result.uint_32);
-               if (!gid_valid(gid))
-                       return -EINVAL;
-               opts->fs_gid = gid;
+               opts->fs_gid = result.gid;
                break;
        case Opt_umask:
                opts->fs_fmask = opts->fs_dmask = result.uint_32;