diff options
Diffstat (limited to 'rust/kernel/security.rs')
| -rw-r--r-- | rust/kernel/security.rs | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/rust/kernel/security.rs b/rust/kernel/security.rs index 25d2b1ac3833..0c63e9e7e564 100644 --- a/rust/kernel/security.rs +++ b/rust/kernel/security.rs @@ -16,13 +16,14 @@ use crate::{  /// # Invariants  ///  /// The `ctx` field corresponds to a valid security context as returned by a successful call to -/// `security_secid_to_secctx`, that has not yet been destroyed by `security_release_secctx`. +/// `security_secid_to_secctx`, that has not yet been released by `security_release_secctx`.  pub struct SecurityCtx {      ctx: bindings::lsm_context,  }  impl SecurityCtx {      /// Get the security context given its id. +    #[inline]      pub fn from_secid(secid: u32) -> Result<Self> {          // SAFETY: `struct lsm_context` can be initialized to all zeros.          let mut ctx: bindings::lsm_context = unsafe { core::mem::zeroed() }; @@ -35,16 +36,19 @@ impl SecurityCtx {      }      /// Returns whether the security context is empty. +    #[inline]      pub fn is_empty(&self) -> bool {          self.ctx.len == 0      }      /// Returns the length of this security context. +    #[inline]      pub fn len(&self) -> usize {          self.ctx.len as usize      }      /// Returns the bytes for this security context. +    #[inline]      pub fn as_bytes(&self) -> &[u8] {          let ptr = self.ctx.context;          if ptr.is_null() { @@ -61,10 +65,10 @@ impl SecurityCtx {  }  impl Drop for SecurityCtx { +    #[inline]      fn drop(&mut self) { -        // SAFETY: By the invariant of `Self`, this frees a context that came from a successful -        // call to `security_secid_to_secctx` and has not yet been destroyed by -        // `security_release_secctx`. +        // SAFETY: By the invariant of `Self`, this releases an lsm context that came from a +        // successful call to `security_secid_to_secctx` and has not yet been released.          unsafe { bindings::security_release_secctx(&mut self.ctx) };      }  }  | 
