]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
smb: client: Convert to new uid/gid option parsing helpers
authorEric Sandeen <sandeen@redhat.com>
Fri, 28 Jun 2024 00:39:26 +0000 (19:39 -0500)
committerChristian Brauner <brauner@kernel.org>
Tue, 2 Jul 2024 04:21:20 +0000 (06:21 +0200)
Convert to new uid/gid option parsing helpers

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Link: https://lore.kernel.org/r/2543358a-b97e-45ce-8cdc-3de1dd9a782f@redhat.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/smb/client/fs_context.c

index 3bbac925d0766b8c456d731355e71b1594b94af3..bc926ab2555bcba08af56ac6ddedfcf6a0e7801f 100644 (file)
@@ -128,12 +128,14 @@ const struct fs_parameter_spec smb3_fs_parameters[] = {
        fsparam_flag("compress", Opt_compress),
        fsparam_flag("witness", Opt_witness),
 
+       /* Mount options which take uid or gid */
+       fsparam_uid("backupuid", Opt_backupuid),
+       fsparam_gid("backupgid", Opt_backupgid),
+       fsparam_uid("uid", Opt_uid),
+       fsparam_uid("cruid", Opt_cruid),
+       fsparam_gid("gid", Opt_gid),
+
        /* Mount options which take numeric value */
-       fsparam_u32("backupuid", Opt_backupuid),
-       fsparam_u32("backupgid", Opt_backupgid),
-       fsparam_u32("uid", Opt_uid),
-       fsparam_u32("cruid", Opt_cruid),
-       fsparam_u32("gid", Opt_gid),
        fsparam_u32("file_mode", Opt_file_mode),
        fsparam_u32("dirmode", Opt_dirmode),
        fsparam_u32("dir_mode", Opt_dirmode),
@@ -951,8 +953,6 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
        int i, opt;
        bool is_smb3 = !strcmp(fc->fs_type->name, "smb3");
        bool skip_parsing = false;
-       kuid_t uid;
-       kgid_t gid;
 
        cifs_dbg(FYI, "CIFS: parsing cifs mount option '%s'\n", param->key);
 
@@ -1083,38 +1083,23 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
                }
                break;
        case Opt_uid:
-               uid = make_kuid(current_user_ns(), result.uint_32);
-               if (!uid_valid(uid))
-                       goto cifs_parse_mount_err;
-               ctx->linux_uid = uid;
+               ctx->linux_uid = result.uid;
                ctx->uid_specified = true;
                break;
        case Opt_cruid:
-               uid = make_kuid(current_user_ns(), result.uint_32);
-               if (!uid_valid(uid))
-                       goto cifs_parse_mount_err;
-               ctx->cred_uid = uid;
+               ctx->cred_uid = result.uid;
                ctx->cruid_specified = true;
                break;
        case Opt_backupuid:
-               uid = make_kuid(current_user_ns(), result.uint_32);
-               if (!uid_valid(uid))
-                       goto cifs_parse_mount_err;
-               ctx->backupuid = uid;
+               ctx->backupuid = result.uid;
                ctx->backupuid_specified = true;
                break;
        case Opt_backupgid:
-               gid = make_kgid(current_user_ns(), result.uint_32);
-               if (!gid_valid(gid))
-                       goto cifs_parse_mount_err;
-               ctx->backupgid = gid;
+               ctx->backupgid = result.gid;
                ctx->backupgid_specified = true;
                break;
        case Opt_gid:
-               gid = make_kgid(current_user_ns(), result.uint_32);
-               if (!gid_valid(gid))
-                       goto cifs_parse_mount_err;
-               ctx->linux_gid = gid;
+               ctx->linux_gid = result.gid;
                ctx->gid_specified = true;
                break;
        case Opt_port: