pub struct RootCapabilityDrop {
pub revoked_count: usize,
pub completed: bool,
pub final_capability_count: usize,
}Expand description
Root capability drop operation per SEC-001.
After Stage 3, this struct orchestrates:
- Identifying capabilities to revoke
- Revoking all non-minimum capabilities
- Verifying the drop succeeded
Fields§
§revoked_count: usizeCapabilities that were revoked.
completed: boolWhether the drop completed successfully.
final_capability_count: usizeFinal capability count for root task.
Implementations§
Source§impl RootCapabilityDrop
impl RootCapabilityDrop
Sourcepub fn execute(
&mut self,
boot_capabilities: &BootCapabilitySet,
minimum_set: &MinimumCapabilitySet,
) -> Result<(), KernelError>
pub fn execute( &mut self, boot_capabilities: &BootCapabilitySet, minimum_set: &MinimumCapabilitySet, ) -> Result<(), KernelError>
Executes the capability drop.
§SEC-001 Requirements
- Root task MUST lose access to all physical memory
- Root task MUST retain only minimum capability set
- Drop MUST be irreversible (cannot re-escalate)
Sourcepub fn verify(&self, minimum_set: &MinimumCapabilitySet) -> bool
pub fn verify(&self, minimum_set: &MinimumCapabilitySet) -> bool
Verifies the drop was successful.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RootCapabilityDrop
impl RefUnwindSafe for RootCapabilityDrop
impl Send for RootCapabilityDrop
impl Sync for RootCapabilityDrop
impl Unpin for RootCapabilityDrop
impl UnsafeUnpin for RootCapabilityDrop
impl UnwindSafe for RootCapabilityDrop
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more