| MINHERIT(2) | System Calls Manual | MINHERIT(2) |
minherit — control
the inheritance of pages
#include
<sys/mman.h>
int
minherit(void
*addr, size_t len,
int inherit);
The
minherit()
system call changes the specified pages to have the inheritance
characteristic inherit. A page's inheritance
characteristic controls how it will be mapped in child processes as created
by fork(2).
The possible inheritance characteristics are:
MAP_INHERIT_NONEMAP_INHERIT_COPYMAP_INHERIT_SHAREMAP_INHERIT_ZERONot all implementations will guarantee that the inheritance characteristic can be set on a page basis; the granularity of changes may be as large as an entire region.
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
The minherit() system call will fail
if:
EPERM]MAP_INHERIT_ZERO is being requested on a page
without PROT_WRITE permission.EINVAL]EINVAL]The minherit() function first appeared in
OpenBSD 2.0.
| January 21, 2024 | openbsd |