vboxsf: Convert to new uid/gid option parsing helpers

Convert to new uid/gid option parsing helpers

From: Eric Sandeen <sandeen@redhat.com>

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Link: https://lore.kernel.org/r/58862d35-a026-4866-ab7f-fa09dda8ac1f@redhat.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Eric Sandeen 2024-06-27 19:42:25 -05:00 committed by Christian Brauner
parent b548291690
commit da99d45bd5
No known key found for this signature in database
GPG key ID: 91C61BC06578DCA2

View file

@ -41,8 +41,8 @@ enum { opt_nls, opt_uid, opt_gid, opt_ttl, opt_dmode, opt_fmode,
static const struct fs_parameter_spec vboxsf_fs_parameters[] = { static const struct fs_parameter_spec vboxsf_fs_parameters[] = {
fsparam_string ("nls", opt_nls), fsparam_string ("nls", opt_nls),
fsparam_u32 ("uid", opt_uid), fsparam_uid ("uid", opt_uid),
fsparam_u32 ("gid", opt_gid), fsparam_gid ("gid", opt_gid),
fsparam_u32 ("ttl", opt_ttl), fsparam_u32 ("ttl", opt_ttl),
fsparam_u32oct ("dmode", opt_dmode), fsparam_u32oct ("dmode", opt_dmode),
fsparam_u32oct ("fmode", opt_fmode), fsparam_u32oct ("fmode", opt_fmode),
@ -55,8 +55,6 @@ static int vboxsf_parse_param(struct fs_context *fc, struct fs_parameter *param)
{ {
struct vboxsf_fs_context *ctx = fc->fs_private; struct vboxsf_fs_context *ctx = fc->fs_private;
struct fs_parse_result result; struct fs_parse_result result;
kuid_t uid;
kgid_t gid;
int opt; int opt;
opt = fs_parse(fc, vboxsf_fs_parameters, param, &result); opt = fs_parse(fc, vboxsf_fs_parameters, param, &result);
@ -73,16 +71,10 @@ static int vboxsf_parse_param(struct fs_context *fc, struct fs_parameter *param)
param->string = NULL; param->string = NULL;
break; break;
case opt_uid: case opt_uid:
uid = make_kuid(current_user_ns(), result.uint_32); ctx->o.uid = result.uid;
if (!uid_valid(uid))
return -EINVAL;
ctx->o.uid = uid;
break; break;
case opt_gid: case opt_gid:
gid = make_kgid(current_user_ns(), result.uint_32); ctx->o.gid = result.gid;
if (!gid_valid(gid))
return -EINVAL;
ctx->o.gid = gid;
break; break;
case opt_ttl: case opt_ttl:
ctx->o.ttl = msecs_to_jiffies(result.uint_32); ctx->o.ttl = msecs_to_jiffies(result.uint_32);