vm_map_inherit(9)

vm_map_inherit9

Set fork inheritance flags for a range within a map

Usage

#include <sys/param.h>

#include <vm/vm.h>

#include <vm/vm_map.h>

int

vm_map_inherit(vm_map_t map, vm_offset_t start, vm_offset_t end, vm_inherit_t new_inheritance);

Overview

The vm_map_inherit() function sets the inheritance flags for the range start to end within the target map to the value new_inheritance.

The new_inheritance flag must have one of the values VM_INHERIT_NONE, VM_INHERIT_COPY, or VM_INHERIT_SHARE. This affects how the map will be shared with child maps when the associated process forks.

Implementation notes

The vm_map_inherit() function obtains a lock on the map using vm_map_lock(9) for the duration of the function.

Return values

The vm_map_inherit() function returns KERN_SUCCESS if the inheritance flags could be set. Otherwise, if the provided flags were invalid, KERN_INVALID_ARGUMENT will be returned.

Releases

54 releases since FreeBSD 5.2-RELEASE; the text changed 34 times.

  1. 5.2–5.2.1
  2. 5.3–5.5
  3. 6.0–6.3
  4. 6.4
  5. 7.0
  6. 7.1
  7. 7.2
  8. 7.3
  9. 7.4
  10. 8.0
  11. 8.1
  12. 8.2
  13. 8.3
  14. 8.4
  15. 9.0
  16. 9.1
  17. 9.2
  18. 9.3
  19. 10.0
  20. 10.1
  21. 10.2
  22. 10.3
  23. 10.4
  24. 11.0
  25. 11.1
  26. 11.2
  27. 11.3
  28. 11.4
  29. 12.0
  30. 12.1
  31. 12.2
  32. 12.3
  33. 12.4
  34. 13.0–13.2
  35. 13.3–16.0

Authors

This manual page was written by Bruce M Simpson ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.