From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 8 Jan 2024 01:21:28 +0400 Subject: Initial vendor packages Signed-off-by: Valentin Popov --- vendor/rustix/src/mm/userfaultfd.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 vendor/rustix/src/mm/userfaultfd.rs (limited to 'vendor/rustix/src/mm/userfaultfd.rs') diff --git a/vendor/rustix/src/mm/userfaultfd.rs b/vendor/rustix/src/mm/userfaultfd.rs new file mode 100644 index 0000000..201d547 --- /dev/null +++ b/vendor/rustix/src/mm/userfaultfd.rs @@ -0,0 +1,30 @@ +//! The Linux `userfaultfd` API. +//! +//! # Safety +//! +//! Calling `userfaultfd` is safe, but the returned file descriptor lets users +//! observe and manipulate process memory in magical ways. +#![allow(unsafe_code)] + +use crate::fd::OwnedFd; +use crate::{backend, io}; + +pub use backend::mm::types::UserfaultfdFlags; + +/// `userfaultfd(flags)` +/// +/// # Safety +/// +/// The call itself is safe, but the returned file descriptor lets users +/// observe and manipulate process memory in magical ways. +/// +/// # References +/// - [Linux] +/// - [Linux userfaultfd] +/// +/// [Linux]: https://man7.org/linux/man-pages/man2/userfaultfd.2.html +/// [Linux userfaultfd]: https://www.kernel.org/doc/Documentation/vm/userfaultfd.txt +#[inline] +pub unsafe fn userfaultfd(flags: UserfaultfdFlags) -> io::Result { + backend::mm::syscalls::userfaultfd(flags) +} -- cgit v1.2.3