On Thu, Sep 20, 2012 at 04:41:44AM -0700, Eric W. Biederman wrote: > From: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Felipe Balbi <balbi@xxxxxx> > Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> > Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> > --- > drivers/usb/gadget/f_fs.c | 23 ++++++++++++++++------- > init/Kconfig | 1 - > 2 files changed, 16 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c > index 8adc79d..f9ee4e0 100644 > --- a/drivers/usb/gadget/f_fs.c > +++ b/drivers/usb/gadget/f_fs.c > @@ -220,8 +220,8 @@ struct ffs_data { > /* File permissions, written once when fs is mounted */ > struct ffs_file_perms { > umode_t mode; > - uid_t uid; > - gid_t gid; > + kuid_t uid; > + kgid_t gid; > } file_perms; > > /* > @@ -1143,10 +1143,19 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts) > break; > > case 3: > - if (!memcmp(opts, "uid", 3)) > - data->perms.uid = value; > + if (!memcmp(opts, "uid", 3)) { > + data->perms.uid = make_kuid(current_user_ns(), value); > + if (!uid_valid(data->perms.uid)) { > + pr_err("%s: unmapped value: %lu\n", opts, value); > + return -EINVAL; > + } > + } > else if (!memcmp(opts, "gid", 3)) > - data->perms.gid = value; > + data->perms.gid = make_kgid(current_user_ns(), value); > + if (!gid_valid(data->perms.gid)) { > + pr_err("%s: unmapped value: %lu\n", opts, value); > + return -EINVAL; > + } > else > goto invalid; > break; > @@ -1175,8 +1184,8 @@ ffs_fs_mount(struct file_system_type *t, int flags, > struct ffs_sb_fill_data data = { > .perms = { > .mode = S_IFREG | 0600, > - .uid = 0, > - .gid = 0 > + .uid = GLOBAL_ROOT_UID, > + .gid = GLOBAL_ROOT_GID, > }, > .root_mode = S_IFDIR | 0500, > }; > diff --git a/init/Kconfig b/init/Kconfig > index 633bde2..e7e0cc1 100644 > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -932,7 +932,6 @@ config UIDGID_CONVERTED > depends on NET_9P = n > > # Filesystems > - depends on USB_FUNCTIONFS = n > depends on DEVTMPFS = n > depends on XENFS = n > > -- > 1.7.5.4 > -- balbi
Attachment:
signature.asc
Description: Digital signature
_______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers