tentatively merged these two into cifs-2.6.git for-next pending review and testing On Sun, Feb 11, 2024 at 5:20 PM Paulo Alcantara <pc@xxxxxxxxxxxxx> wrote: > > When uid, gid and cruid are not specified, we need to set dynamically > set them into the filesystem context used for automounting otherwise > they'll end up reusing the values from the parent mount. > > Fixes: 9fd29a5bae6e ("cifs: use fs_context for automounts") > Reported-by: Shane Nehring <snehring@xxxxxxxxxxx> > Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2259257 > Signed-off-by: Paulo Alcantara (Red Hat) <pc@xxxxxxxxxxxxx> > --- > fs/smb/client/namespace.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/fs/smb/client/namespace.c b/fs/smb/client/namespace.c > index a6968573b775..4a517b280f2b 100644 > --- a/fs/smb/client/namespace.c > +++ b/fs/smb/client/namespace.c > @@ -168,6 +168,21 @@ static char *automount_fullpath(struct dentry *dentry, void *page) > return s; > } > > +static void fs_context_set_ids(struct smb3_fs_context *ctx) > +{ > + kuid_t uid = current_fsuid(); > + kgid_t gid = current_fsgid(); > + > + if (ctx->multiuser) { > + if (!ctx->uid_specified) > + ctx->linux_uid = uid; > + if (!ctx->gid_specified) > + ctx->linux_gid = gid; > + } > + if (!ctx->cruid_specified) > + ctx->cred_uid = uid; > +} > + > /* > * Create a vfsmount that we can automount > */ > @@ -205,6 +220,7 @@ static struct vfsmount *cifs_do_automount(struct path *path) > tmp.leaf_fullpath = NULL; > tmp.UNC = tmp.prepath = NULL; > tmp.dfs_root_ses = NULL; > + fs_context_set_ids(&tmp); > > rc = smb3_fs_context_dup(ctx, &tmp); > if (rc) { > -- > 2.43.0 > -- Thanks, Steve