* [RFC PATCH v2 0/3] uid_r: convert tun, ivpu and tee
[not found] <cover.1792552161.git.jan.koester@tuxist.de>
@ 2026-11-12 15:38 ` Jan Koester via OP-TEE
2026-11-13 0:05 ` Willem de Bruijn
0 siblings, 1 reply; 2+ messages in thread
From: Jan Koester via OP-TEE @ 2026-11-12 15:38 UTC (permalink / raw)
To: linux-kernel
Cc: Willem de Bruijn, Jason Wang, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Karol Wachowski,
Andrzej Kacprowski, Oded Gabbay, Jens Wiklander, Sumit Garg,
Christian Brauner, netdev, dri-devel, op-tee, linux-fsdevel
Hi,
Building the UUID/GUID id RFC (uid_r v2,
<cover.1792552161.git.jan.koester@tuxist.de>) with a distribution
config instead of the one I had tested with turned up three users of
kuid_t/kgid_t it doesn't build with: kuid_t is a tagged union now and
has no .val, and it no longer fits READ_ONCE()/WRITE_ONCE().
1/3 tun: TUNSETOWNER/TUNSETGROUP write the owner and group under RTNL,
tun_fill_info() may read them without it. Mark that read as
data_race() instead of READ_ONCE(). Only classic ids from
make_kuid()/make_kgid() are ever stored there.
2/3 accel/ivpu: the per-user context limits are keyed by
__kuid_val(). UUID and GUID users share the (uid_t)-1 bucket, which
only makes the limit stricter for them.
3/3 tee: the TEE_IOCTL_LOGIN_USER client UUID is derived from the
classic uid. With __kuid_val() alone every UUID or GUID user would
get the same one and could act as any other such user towards the
TEE, so those logins are refused with -EPERM, like ublk refuses
unprivileged devices to them in the series.
These belong into the series before the patch that lets kuid_t and
kgid_t hold a UUID or a GUID and will be folded in there in v3; I'm sending
them now so that the reviewers of these drivers see what uid_r means
for them.
Jan Koester (3):
tun: read the owner and group without READ_ONCE()
accel/ivpu: key user limits by __kuid_val()
tee: refuse user logins of UUID and GUID users
drivers/accel/ivpu/ivpu_drv.c | 2 +-
drivers/net/tun.c | 8 ++++----
drivers/tee/tee_core.c | 13 +++++++++++--
3 files changed, 16 insertions(+), 7 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC PATCH v2 0/3] uid_r: convert tun, ivpu and tee
2026-11-12 15:38 ` [RFC PATCH v2 0/3] uid_r: convert tun, ivpu and tee Jan Koester via OP-TEE
@ 2026-11-13 0:05 ` Willem de Bruijn
0 siblings, 0 replies; 2+ messages in thread
From: Willem de Bruijn @ 2026-11-13 0:05 UTC (permalink / raw)
To: Jan Koester, linux-kernel
Cc: Willem de Bruijn, Jason Wang, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Karol Wachowski,
Andrzej Kacprowski, Oded Gabbay, Jens Wiklander, Sumit Garg,
Christian Brauner, netdev, dri-devel, op-tee, linux-fsdevel
Jan Koester wrote:
> Hi,
>
> Building the UUID/GUID id RFC (uid_r v2,
> <cover.1792552161.git.jan.koester@tuxist.de>) with a distribution
> config instead of the one I had tested with turned up three users of
> kuid_t/kgid_t it doesn't build with: kuid_t is a tagged union now and
> has no .val, and it no longer fits READ_ONCE()/WRITE_ONCE().
>
> 1/3 tun: TUNSETOWNER/TUNSETGROUP write the owner and group under RTNL,
> tun_fill_info() may read them without it. Mark that read as
> data_race() instead of READ_ONCE(). Only classic ids from
> make_kuid()/make_kgid() are ever stored there.
>
> 2/3 accel/ivpu: the per-user context limits are keyed by
> __kuid_val(). UUID and GUID users share the (uid_t)-1 bucket, which
> only makes the limit stricter for them.
>
> 3/3 tee: the TEE_IOCTL_LOGIN_USER client UUID is derived from the
> classic uid. With __kuid_val() alone every UUID or GUID user would
> get the same one and could act as any other such user towards the
> TEE, so those logins are refused with -EPERM, like ublk refuses
> unprivileged devices to them in the series.
>
> These belong into the series before the patch that lets kuid_t and
> kgid_t hold a UUID or a GUID and will be folded in there in v3; I'm sending
> them now so that the reviewers of these drivers see what uid_r means
> for them.
>
> Jan Koester (3):
> tun: read the owner and group without READ_ONCE()
> accel/ivpu: key user limits by __kuid_val()
> tee: refuse user logins of UUID and GUID users
>
> drivers/accel/ivpu/ivpu_drv.c | 2 +-
> drivers/net/tun.c | 8 ++++----
> drivers/tee/tee_core.c | 13 +++++++++++--
> 3 files changed, 16 insertions(+), 7 deletions(-)
I only received this cover letter. Also do not see the patches on
https://lore.kernel.org/all
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-13 7:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1792552161.git.jan.koester@tuxist.de>
2026-11-12 15:38 ` [RFC PATCH v2 0/3] uid_r: convert tun, ivpu and tee Jan Koester via OP-TEE
2026-11-13 0:05 ` Willem de Bruijn
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox