MCPcopy Create free account
hub / github.com/bytecodealliance/rustix / capability_is_in_bounding_set

Function capability_is_in_bounding_set

src/thread/prctl.rs:467–476  ·  view source on GitHub ↗
(capability: impl CompatCapability)

Source from the content-addressed store, hash-verified

465/// [`prctl(PR_CAPBSET_READ,…)`]: https://man7.org/linux/man-pages/man2/prctl.2.html
466#[inline]
467pub fn capability_is_in_bounding_set(capability: impl CompatCapability) -> io::Result<bool> {
468 let capset = capability.as_capability_set(private::Token).bits();
469 if capset.count_ones() != 1 {
470 return Err(Errno::INVAL);
471 }
472 let cap = capset.trailing_zeros();
473
474 // as *mut _ should be ptr::without_provenance_mut but our MSRV does not allow it.
475 unsafe { prctl_2args(PR_CAPBSET_READ, cap as usize as *mut _) }.map(|r| r != 0)
476}
477
478const PR_CAPBSET_DROP: c_int = 24;
479

Callers

nothing calls this directly

Calls 2

prctl_2argsFunction · 0.85
as_capability_setMethod · 0.80

Tested by

no test coverage detected