NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3005 most downloaded on crates.io
A system utility set
Last release 1 years ago
07 Aug 2025
Ships fairly regularly
a new release about every 4 months
Some releases are documented
notes for 11 of 20 stable releases
2 versions withdrawn
withdrawn after publishing
7 years old
22 releases · first in 2019
[ #245 ]: Make sock_ctrl_msg support non-linux unix platforms.
IntoRawFd for linux::eventfd::EventFd.File::try_clone to replace the original implementation of EventFd::try_clone.CLOEXEC.EventNotifier and EventConsumer as a generic event notification[ #240 ]: Remove PartialEq trait constraint on Entry in FAM module.
PartialEq trait constraint on Entry in FAM module.One column per quarter.
[ #230 ]: Introduce align_downwards! and align_upwards! macro to help address aligning, this implementation is faster than div_ceil way and more robus
Debug impl for FamStructWrapper<T> print out contents of the flexible array member. This causes Debug to only be implemented if T::Entry: Debug.impl From<Vec<T>> for FamStructWrapper<T>, as this was unsound.[ #215 ]: Make as_mut_fam_struct() public and unsafe to let users modify fields of the header other than the length.
as_mut_fam_struct() public and unsafe to let users modify fields of the header other than the length.serde implementation of FamStructWrapper which allowed out of bounds memory access from Rust-safe code. See the related GHSA here: GHSA-875g-mfp6-g7f9 for more information.Added all features to the generated docs.rs documentation.
serde implementation of FamStructWrapper which allowed out of
bounds memory access from Rust-safe code. See the related GHSA here:
https://github.com/rust-vmm/vmm-sys-util/security/advisories/GHSA-875g-mfp6-g7f9
for more information.ioctl_io*_nr macros expanding unhygenically, requiring for example the
import of ioctl_ioc_nr! when using ioctl_iow_nr!.[#201] Updated SyscallReturnCode to accept any signed integer type.
SyscallReturnCode
to accept any signed integer type.[ #178 ]: Fixed a bug in rand_bytes that was triggering a panic when the number of bytes was not a multiple of 4.
Added rand_bytes function that generates a pseudo random vector of len bytes.
rand_bytes function that generates a pseudo random vector of len bytes.std::error::Error for fam::Error.Eq and PartialEq for error types.xor_psuedo_rng_u32 to xor_pseudo_rng_u32 to fix a typo.xor_psuedo_rng_u8_alphanumerics to xor_pseudo_rng_u8_alphanumerics to fix a typo.Added Android support by using the appropriate macro configuration when exporting functionality.
Debug for FamStructWrapper & EventFd.ioctl_expr is now a const function instead of a macro.Fixed safety for sock_ctrl_msg::raw_recvmsg() and enhanced documentation
Added set_check_for_hangup() to PollContext.
write_zeroes to use FALLOC_FL_ZERO_RANGEFALLOC_FL_PUNCH_HOLE.write_all_zeroes to WriteZeroes, which calls write_zeroes in aWriteZeroesAt, which allows giving the offset in filemax_events from Epoll::wait which removes possible undefinedPartialEq implementation.Clone implementation.write_zeroes to use FALLOC_FL_ZERO_RANGE
instead of FALLOC_FL_PUNCH_HOLE.write_all_zeroes to WriteZeroes, which calls write_zeroes in a
loop until the requested length is met.WriteZeroesAt, which allows giving the offset in file
instead of using the current cursor.max_events from Epoll::wait which removes possible undefined
behavior.PartialEq implementation.Clone implementation.metric module that provides a Metric interface as well as a
default implementation for AtomicU64.From<io::Error> for errno::Error.Epoll::ctl signature such that EpollEvent is passed by
value and not by reference.serde compatibility to FamStructWrapper,
gated by the with-serde feature.Into<std::io::Error for errno::Error.libc::epoll used for basic epoll operations.into_file for TempFile which enables the TempFile to be used as a
regular file.register_signal_handler by allowing only
valid signal numbers.for_vcpu argument from signal::register_signal_handler and
signal::validate_signal_num. Users can now pass absolute values for all
valid signal numbers.flag argument of signal::register_signal_handler public methods,
which now defaults to libc::SA_SIGINFO.TempFile::new and TempDir::new to create new temporary files/
directories inside $TMPDIR if set, otherwise inside /tmp.This is the first vmm-sys-util crate release.
It is a collection of modules implementing helpers and utilities used by multiple rust-vmm components and rust-vmm based VMMs. Most of the code in this first release is based on either the crosvm or the Firecracker projects, or both.
The first release comes with the following Rust modules:
aio: Safe wrapper over
Linux AIO.
errno: Structures, helpers, and type definitions for working with
errno.
eventfd: Structure and wrapper functions for working with
eventfd.
fallocate: Enum and function for dealing with an allocated disk space
by fallocate.
fam: Trait and wrapper for working with C defined FAM structures.
file_traits: Traits for handling file synchronization and length.
ioctls: Macros and functions for working with
ioctl.
poll: Traits and structures for working with
epoll
rand: Miscellaneous functions related to getting (pseudo) random numbers and strings.
seek_hole: Traits and implementations over
lseek64.
signal: Enums, traits and functions for working with
signal.
sockctrl_msg: Wrapper for sending and receiving messages with file descriptors on sockets that accept control messages (e.g. Unix domain sockets).
tempdir: Structure for handling temporary directories.
tempfile: Struct for handling temporary files as well as any cleanup required.
terminal: Trait for working with
termios.
timerfd: Structure and functions for working with
timerfd.
write_zeroes: Traits for replacing a range with a hole and writing zeroes in a file.
Added the metric module that provides a Metric interface as well as a default implementation for AtomicU64 .
metric module that provides a Metric interface as well as aAtomicU64.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →