fuse: Convert to new uid/gid option parsing helpers
authorEric Sandeen <sandeen@redhat.com>
Tue, 2 Jul 2024 22:23:24 +0000 (17:23 -0500)
committerChristian Brauner <brauner@kernel.org>
Wed, 3 Jul 2024 14:55:11 +0000 (16:55 +0200)
Convert to new uid/gid option parsing helpers

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Link: https://lore.kernel.org/r/4e1a4efa-4ca5-4358-acee-40efd07c3c44@redhat.com
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/fuse/inode.c

index 32fe6fa72f460170e9fe8bdfc9efdf5447ea15b3..d8ab4e93916fa39b5cb57a9ab44e4b4e196d8416 100644 (file)
@@ -740,8 +740,8 @@ static const struct fs_parameter_spec fuse_fs_parameters[] = {
        fsparam_string  ("source",              OPT_SOURCE),
        fsparam_u32     ("fd",                  OPT_FD),
        fsparam_u32oct  ("rootmode",            OPT_ROOTMODE),
-       fsparam_u32     ("user_id",             OPT_USER_ID),
-       fsparam_u32     ("group_id",            OPT_GROUP_ID),
+       fsparam_uid     ("user_id",             OPT_USER_ID),
+       fsparam_gid     ("group_id",            OPT_GROUP_ID),
        fsparam_flag    ("default_permissions", OPT_DEFAULT_PERMISSIONS),
        fsparam_flag    ("allow_other",         OPT_ALLOW_OTHER),
        fsparam_u32     ("max_read",            OPT_MAX_READ),
@@ -801,9 +801,7 @@ static int fuse_parse_param(struct fs_context *fsc, struct fs_parameter *param)
                break;
 
        case OPT_USER_ID:
-               kuid =  make_kuid(fsc->user_ns, result.uint_32);
-               if (!uid_valid(kuid))
-                       return invalfc(fsc, "Invalid user_id");
+               kuid = result.uid;
                /*
                 * The requested uid must be representable in the
                 * filesystem's idmapping.
@@ -815,9 +813,7 @@ static int fuse_parse_param(struct fs_context *fsc, struct fs_parameter *param)
                break;
 
        case OPT_GROUP_ID:
-               kgid = make_kgid(fsc->user_ns, result.uint_32);;
-               if (!gid_valid(kgid))
-                       return invalfc(fsc, "Invalid group_id");
+               kgid = result.gid;
                /*
                 * The requested gid must be representable in the
                 * filesystem's idmapping.