---
name: "minherit"
section: "2"
platform: "macos"
package: "xnu"
version: "12377.121.6"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/minherit"
---

# minherit(2)

control the inheritance of pages

## NAME

**minherit** – control the inheritance of pages

## SYNOPSIS

**#include \<sys/types.h\>**

**#include \<sys/mman.h\>**

*int*\

**minherit**(*caddr\_t addr*, *size\_t len*, *int inherit*);

## DESCRIPTION

The **minherit**() system call changes the specified pages to have the inheritance characteristic *inherit*, which can be set to VM\_INHERIT\_NONE, VM\_INHERIT\_COPY, or VM\_INHERIT\_SHARE. Not 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.

## RETURN VALUES

The **minherit()** function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

## ERRORS

The **minherit**() system call will fail if:

- \[EINVAL\]

  The virtual address range specified by the *addr* and *len* arguments is not valid.

- \[EACCES\]

  The flags specified by the *inherit* argument were not valid for the pages specified by the *addr* and *len* arguments.

## SEE ALSO

[madvise(2)](/madvise/2.md), [mincore(2)](/mincore/2.md), [mprotect(2)](/mprotect/2.md), [msync(2)](/msync/2.md), [munmap(2)](/munmap/2.md)

## HISTORY

The **minherit**() function first appeared in OpenBSD.
