OpenBSD manual page server

Manual Page Search Parameters

MUNMAP(2) System Calls Manual MUNMAP(2)

munmapremove a mapping

#include <sys/mman.h>

int
munmap(void *addr, size_t len);

The () system call deletes the mappings for the specified address range, and causes further references to addresses within the range to generate invalid memory references.

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.

munmap() will fail if:

[]
The addr and len parameters specify a region that would extend beyond the end of the address space, or some part of the region being unmapped is not part of the currently valid address space.
[]
The addr and len parameters specify a region which contains at least one page marked immutable.

madvise(2), mimmutable(2), mlock(2), mlockall(2), mmap(2), mprotect(2), msync(2), getpagesize(3)

When len is non-zero, the munmap() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

The munmap() system call has been available since 4.3BSD-Net/2.

IEEE Std 1003.1-2008 (“POSIX.1”) specifies that munmap() shall fail with EINVAL if len is 0. OpenBSD performs no action in this case.

January 21, 2024 OpenBSD-7.6