A pure-Rust library to work with Linux memfd and seals.
It provides support for creating memfd
objects on Linux
and handling seals on them. This was first introduced in
Linux kernel 3.17.
For further details, see memfd_create(2)
manpage.
```rust extern crate memfd; use memfd::errors::Result;
fn newsizedmemfd() -> Result
// Resize to 1024B.
mfd.as_file().set_len(1024)?;
// Add seals to prevent further resizing.
let mut seals = memfd::SealsHashSet::new();
seals.insert(memfd::FileSeal::SealShrink);
seals.insert(memfd::FileSeal::SealGrow);
mfd.add_seals(&seals)?;
// Prevent further sealing changes.
mfd.add_seal(memfd::FileSeal::SealSeal);
Ok(mfd)
} ```
Some more examples are available under examples.
Licensed under either of
at your option.