Re: [PATCH v5 1/2] rust: task: clarify comments on task UID accessors
Paul Moore <[email protected]>
| Newsgroups | org.kernel.vger.linux-security-module,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
On Jul 3, 2026 Alice Ryhl <[email protected]> wrote: > > Linux has separate subjective and objective task credentials, see the > comment above `struct cred`. Clarify which accessor functions operate on > which set of credentials. > > Also document that Task::euid() is a very weird operation. You can see how > weird it is by grepping for task_euid() in the history - binder was its > only user. Task::euid() obtains the objective effective UID - it looks > at the credentials of the task for purposes of acting on it as an > object, but then accesses the effective UID (which the credentials.7 man > page describes as "[...] used by the kernel to determine the permissions > that the process will have when accessing shared resources [...]"). > > For context: > Arguably, binder's use of task_euid() is a theoretical security problem, > which only has no impact on Android because Android has no setuid binaries > executable by apps. > commit 29bc22ac5e5b ("binder: use euid from cred instead of using task") > originally fixed that by removing that only user of task_euid(), but the > fix got reverted in commit c21a80ca0684 ("binder: fix test regression > due to sender_euid change") because some Android test started failing. > It was since fixed again by commit 65b672152289 ("binder: use > current_euid() for transaction sender identity"), which uses > current_euid() instead. > > Signed-off-by: Jann Horn <[email protected]> > Reviewed-by: Gary Guo <[email protected]> > Signed-off-by: Alice Ryhl <[email protected]> > --- > Originally sent as: > https://lore.kernel.org/r/[email protected] > --- > rust/kernel/task.rs | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) Merged into lsm/dev, thanks! -- paul-moore.com