Skip to main content

Module mmap

Module mmap 

Source
Expand description

Memory-management syscall handlers: mmap, munmap, brk.

Implements:

  • sys_mmap – map anonymous virtual memory (SYS_MMAP = 100)
  • sys_munmap – unmap a virtual memory range (SYS_MUNMAP = 101)
  • sys_brk – set / query the program break / heap top (SYS_BRK = 102)
  • sys_mremap – resize/remap an existing region (SYS_MREMAP = 103)
  • sys_mprotect – change page permissions (SYS_MPROTECT = 104)

Constants§

BRK_BASE
Base virtual address for the heap (brk-managed region).
MAP_ANONYMOUS 🔒
MAP_FIXED 🔒
MAP_FIXED_NOREPLACE 🔒
MAP_HUGETLB 🔒
MAP_PRIVATE 🔒
MAP_SHARED 🔒
MMAP_BASE
Initial hint address for anonymous mmap allocations.
MREMAP_MAYMOVE 🔒
PROT_EXEC 🔒
PROT_READ 🔒
PROT_WRITE 🔒
USER_SPACE_END 🔒
Exclusive upper bound of the canonical user-space address range.

Functions§

huge_page_align_up 🔒
Round addr up to the nearest 2 MiB boundary.
page_align_up 🔒
Round addr up to the nearest 4 KiB page boundary.
prot_to_vma_flags 🔒
Convert POSIX protection flags to VmaFlags.
sys_brk
SYS_BRK (102): set or query the program break (top of heap).
sys_mem_region_export
SYS_MEM_REGION_EXPORT (105): export a tracked region as a public handle.
sys_mem_region_info
SYS_MEM_REGION_INFO (107): query metadata about an exported region.
sys_mem_region_map
SYS_MEM_REGION_MAP (106): map an exported region into the caller.
sys_mmap
SYS_MMAP (100): map anonymous virtual memory.
sys_mprotect
SYS_MPROTECT (104): change permissions in an existing mapping range.
sys_mremap
SYS_MREMAP (103): resize an existing mapping.
sys_munmap
SYS_MUNMAP (101): unmap a virtual memory range.
vma_flags_to_prot 🔒
Convert VmaFlags into ABI protection bits.