On Fri, Feb 2, 2024 at 5:57 AM Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote: > > From: Wedson Almeida Filho <wedsonaf@xxxxxxxxx> > > Add a wrapper around `struct cred` called `Credential`, and provide > functionality to get the `Credential` associated with a `File`. > > Rust Binder must check the credentials of processes when they attempt to > perform various operations, and these checks usually take a > `&Credential` as parameter. The security_binder_set_context_mgr function > would be one example. This patch is necessary to access these security_* > methods from Rust. > > Signed-off-by: Wedson Almeida Filho <wedsonaf@xxxxxxxxx> > Co-developed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> > Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> > --- > [...] > diff --git a/rust/kernel/cred.rs b/rust/kernel/cred.rs > new file mode 100644 > index 000000000000..fabc50e48c9e > --- /dev/null > +++ b/rust/kernel/cred.rs > @@ -0,0 +1,72 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +//! Credentials management. > +//! > +//! C header: [`include/linux/cred.h`](srctree/include/linux/cred.h). > +//! > +//! Reference: <https://www.kernel.org/doc/html/latest/security/credentials.html> > + > +use crate::{ > + bindings, > + types::{AlwaysRefCounted, Opaque}, > +}; > + > +/// Wraps the kernel's `struct cred`. Could you add a brief description to the summary line? > +/// Most fields of credentials are immutable. When things have their credentials changed, that > +/// happens by replacing the credential instad of changing an existing credential. See the [kernel s/instad/instead > [...] Reviewed-by: Trevor Gross <tmgross@xxxxxxxxx>