diff options
| author | Mark Brown <broonie@kernel.org> | 2024-03-18 17:30:46 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2024-03-18 17:30:46 +0000 |
| commit | 5bd249aec71d75f0088357e4aba27fde0610f823 (patch) | |
| tree | ed63b21b48b711430492734564775758a39eb94c /fs/smb/client/namespace.c | |
| parent | 7397175cb7b48f7a3fc699083aa46f1234904c7e (diff) | |
| parent | e8f897f4afef0031fe618a8e94127a0934896aba (diff) | |
spi: Merge up v6.8 release
An i.MX fix depends on other fixes that were sent to v6.8.
Diffstat (limited to 'fs/smb/client/namespace.c')
| -rw-r--r-- | fs/smb/client/namespace.c | 16 |
1 files changed, 16 insertions, 0 deletions
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) { |