diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-02-06 23:31:42 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-06 23:31:42 +0000 |
commit | 2038ce6b99c7287c1d80c5df2fcc9cf2de131a32 (patch) | |
tree | d2c37caf5474bf351914027ec2ada5a45e7458ee /src/sys/personality.rs | |
parent | 0bd56d96e3b2a4b19ef539e6bd01f3441ecfed1d (diff) | |
parent | 7baf6d12c88bfba20b77c68353826702c7248fcd (diff) | |
download | nix-2038ce6b99c7287c1d80c5df2fcc9cf2de131a32.zip |
Merge #1653
1653: Document inotify, mman, personality, reboot, timerfd r=asomers a=rtzoeller
Document the `inotify`, `mman`, `personality`, `reboot`, and `timerfd` modules.
Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
Diffstat (limited to 'src/sys/personality.rs')
-rw-r--r-- | src/sys/personality.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/sys/personality.rs b/src/sys/personality.rs index e64c906d..2af66878 100644 --- a/src/sys/personality.rs +++ b/src/sys/personality.rs @@ -1,3 +1,4 @@ +//! Process execution domains use crate::Result; use crate::errno::Errno; @@ -7,18 +8,44 @@ libc_bitflags! { /// Flags used and returned by [`get()`](fn.get.html) and /// [`set()`](fn.set.html). pub struct Persona: c_int { + /// Provide the legacy virtual address space layout. ADDR_COMPAT_LAYOUT; + /// Disable address-space-layout randomization. ADDR_NO_RANDOMIZE; + /// Limit the address space to 32 bits. ADDR_LIMIT_32BIT; + /// Use `0xc0000000` as the offset at which to search a virtual memory + /// chunk on [`mmap(2)`], otherwise use `0xffffe000`. + /// + /// [`mmap(2)`]: https://man7.org/linux/man-pages/man2/mmap.2.html ADDR_LIMIT_3GB; + /// User-space function pointers to signal handlers point to descriptors. #[cfg(not(any(target_env = "musl", target_env = "uclibc")))] + #[cfg_attr(docsrs, doc(cfg(all())))] FDPIC_FUNCPTRS; + /// Map page 0 as read-only. MMAP_PAGE_ZERO; + /// `PROT_READ` implies `PROT_EXEC` for [`mmap(2)`]. + /// + /// [`mmap(2)`]: https://man7.org/linux/man-pages/man2/mmap.2.html READ_IMPLIES_EXEC; + /// No effects. SHORT_INODE; + /// [`select(2)`], [`pselect(2)`], and [`ppoll(2)`] do not modify the + /// returned timeout argument when interrupted by a signal handler. + /// + /// [`select(2)`]: https://man7.org/linux/man-pages/man2/select.2.html + /// [`pselect(2)`]: https://man7.org/linux/man-pages/man2/pselect.2.html + /// [`ppoll(2)`]: https://man7.org/linux/man-pages/man2/ppoll.2.html STICKY_TIMEOUTS; + /// Have [`uname(2)`] report a 2.6.40+ version number rather than a 3.x + /// version number. + /// + /// [`uname(2)`]: https://man7.org/linux/man-pages/man2/uname.2.html #[cfg(not(any(target_env = "musl", target_env = "uclibc")))] + #[cfg_attr(docsrs, doc(cfg(all())))] UNAME26; + /// No effects. WHOLE_SECONDS; } } |