0.6.5 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
Apache-2.0 - Apache License 2.0A 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.
extern crate memfd;
use memfd::errors::Result;
fn new_sized_memfd() -> Result<memfd::Memfd> {
// Create a sealable memfd.
let opts = memfd::MemfdOptions::default().allow_sealing(true);
let mfd = opts.create("sized-1K")?;
// 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.