[PATCH v2] cifs: reinstate original behavior again for forceuid/forcegid

ronnie sahlberg ronniesahlberg at gmail.com
Fri Apr 7 10:14:04 UTC 2023


Looks good.
The question arises, are there any situations where forceuid is
meaningful without uid= argument and what would it mean?

On Fri, 7 Apr 2023 at 15:09, Takayuki Nagata <tnagata at redhat.com> wrote:
>
> forceuid/forcegid should be enabled by default when uid=/gid= options are
> specified, but commit 24e0a1eff9e2 ("cifs: switch to new mount api")
> changed the behavior. Due to the change, a mounted share does not show
> intentional uid/gid for files and directories even though uid=/gid=
> options are specified since forceuid/forcegid are not enabled.
>
> This patch reinstates original behavior that overrides uid/gid with
> specified uid/gid by the options.
>
> Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
> Signed-off-by: Takayuki Nagata <tnagata at redhat.com>
> Acked-by: Ronnie Sahlberg <lsahlber at redhat.com>
> Acked-by: Tom Talpey <tom at talpey.com>
> Signed-off-by: Steve French <stfrench at microsoft.com>
> ---
> V1 -> V2: Revised commit message to clarify "what breaks".
>
>  fs/cifs/fs_context.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/fs/cifs/fs_context.c b/fs/cifs/fs_context.c
> index ace11a1a7c8a..6f7c5ca3764f 100644
> --- a/fs/cifs/fs_context.c
> +++ b/fs/cifs/fs_context.c
> @@ -972,6 +972,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
>                         goto cifs_parse_mount_err;
>                 ctx->linux_uid = uid;
>                 ctx->uid_specified = true;
> +               ctx->override_uid = 1;
>                 break;
>         case Opt_cruid:
>                 uid = make_kuid(current_user_ns(), result.uint_32);
> @@ -1000,6 +1001,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
>                         goto cifs_parse_mount_err;
>                 ctx->linux_gid = gid;
>                 ctx->gid_specified = true;
> +               ctx->override_gid = 1;
>                 break;
>         case Opt_port:
>                 ctx->port = result.uint_32;
> --
> 2.40.0
>



More information about the samba-technical mailing list