From: "Pali Rohár" <pali@kernel.org>
To: Steve French <smfrench@gmail.com>
Cc: ronnie sahlberg <ronniesahlberg@gmail.com>,
Jeremy Allison <jra@samba.org>, Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Do not use UID and GID from EAs
Date: Fri, 29 Aug 2025 15:01:04 +0200 [thread overview]
Message-ID: <20250829130104.jtjp2jlmd6infvtc@pali> (raw)
In-Reply-To: <20250811105258.t3r65wsytkmyguem@pali>
On Monday 11 August 2025 12:52:58 Pali Rohár wrote:
> On Tuesday 17 September 2024 16:19:08 Steve French wrote:
> > On Tue, Sep 17, 2024 at 3:45 PM ronnie sahlberg
> > <ronniesahlberg@gmail.com> wrote:
> > >
> > > On Wed, 18 Sept 2024 at 06:37, Pali Rohár <pali@kernel.org> wrote:
> > > >
> > > > On Tuesday 17 September 2024 13:31:22 Jeremy Allison wrote:
> > > > > On Tue, Sep 17, 2024 at 10:29:21PM +0200, Pali Rohár wrote:
> > > > > > On Tuesday 17 September 2024 13:23:40 Jeremy Allison wrote:
> > > > > > > On Tue, Sep 17, 2024 at 10:06:00PM +0200, Pali Rohár wrote:
> > > > > > > > And seems that SMB2_OP_QUERY_WSL_EA is useful not only for reparse
> > > > > > > > points, but also for any regular file or directory as it can contain
> > > > > > > > UNIX mode and UID/GID ownership.
> > > > > > >
> > > > > > > uid/gid should *never* be exposed over the wire for SMB.
> > > > > > >
> > > > > > > That way lies madness.
> > > > > >
> > > > > > Hello Jeremy, if I understood wsl_to_fattr() function correctly then it
> > > > > > is already doing it, it fills uid/gid for stat() from data which were
> > > > > > exposed over the wire for SMB. Could you check that function if it is
> > > > > > truth?
> > > > >
> > > > > I'm sure the Windows implementation is doing it - however, any Linux
> > > > > server implementations should not do this (IMHO).
> > > > >
> > > > > It will break all SID -> uid / gid mapping that servers must
> > > > > carefully set up.
> > > > >
> > > > > On the wire - SIDs must be the only source of identity.
> > > >
> > > > Ok. But then I do not understand why Linux client parses and uses uid
> > > > and gids which are sent over the wire. If you are saying that the SIDs
> > > > must be the only source of truth then Linux client should rather ignore
> > > > uid and gid values?
> > >
> > > What I think Jeremy is refering to is that mixing uids and sids in the
> > > protocol itself is
> > > a protocol design mistake.
> > > Because this means that some PDUs in the protocol operate on SIDs but
> > > others operate on
> > > UID/GIDs and this means there is great risk of mistakes and have the
> > > sid<->uid mapping return
> > > different results depending on the actual PDU.
> > >
> > > Sometimes the sid<->uid mapping happens in the server, at other times
> > > the mapping happens in the client
> > > and it is very difficult to guarantee that the mapping is consistent
> > > across PDUs in the protocol as well as across different clients.
> >
> > Yes - agreed.
> >
> > SIDs are globally unique and should always be used/sent over the wire
> > (never send or use the local uid/gid which is not guaranteed to be
> > unique). Whether retrieving ownership information via
> > the SMB ACL or via an SMB3.1.1 POSIX response, the SID is the correct
> > thing to send/use in the protocol. For cases where the client is not
> > domain joined, the UID/GID can be encoded in the SID, for cases that
> > are domain joined the Linux UIDs/GIDs can be mapped consistently via
> > the SID.
> >
> > --
> > Thanks,
> >
> > Steve
>
> Hello Steve, based on the above discussion I'm proposing a change which
> stops parsing UID and GID values stored in EAs on the SMB server for
> SMB2 and SMB3 dialects. Change is in the attachment.
>
> Steve, Ronnie, Jeremy and Paulo, could you review this change?
Hello, have you looked at the proposed change in the previous email?
next prev parent reply other threads:[~2025-08-29 13:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 20:02 [PATCH] cifs: Fix getting reparse points from server without WSL support Pali Rohár
2024-09-13 20:10 ` Pali Rohár
2024-09-17 20:06 ` Pali Rohár
2024-09-17 20:23 ` Jeremy Allison
2024-09-17 20:29 ` Pali Rohár
2024-09-17 20:31 ` Jeremy Allison
2024-09-17 20:34 ` Pali Rohár
2024-09-17 20:44 ` Jeremy Allison
2024-09-17 20:44 ` ronnie sahlberg
2024-09-17 20:46 ` Jeremy Allison
2024-09-17 20:59 ` Pali Rohár
2024-09-17 21:19 ` Steve French
2025-08-11 10:52 ` Do not use UID and GID from EAs Pali Rohár
2025-08-29 13:01 ` Pali Rohár [this message]
2024-09-17 21:04 ` [PATCH] cifs: Fix getting reparse points from server without WSL support Paulo Alcantara
2024-09-17 21:07 ` Pali Rohár
2024-09-17 21:17 ` Paulo Alcantara
2024-09-23 18:10 ` Pali Rohár
2024-10-06 10:08 ` Pali Rohár
2024-09-17 21:14 ` Steve French
2024-09-28 14:09 ` Pali Rohár
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250829130104.jtjp2jlmd6infvtc@pali \
--to=pali@kernel.org \
--cc=jra@samba.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pc@manguebit.com \
--cc=ronniesahlberg@gmail.com \
--cc=sfrench@samba.org \
--cc=smfrench@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®