Go to main content

man pages section 2: System Calls

Exit Print View

Updated: July 2017
 
 

munmap(2)

Name

munmap - unmap pages of memory

Synopsis

#include <sys/mman.h>

int munmap(void *addr, size_t len);

Description

The munmap() function removes the mappings for pages in the range [addr, addr + len), rounding the len argument up to the next multiple of the page size as returned by sysconf(3C). If addr is not the address of a mapping established by a prior call to mmap(2), the behavior is undefined. After a successful call to munmap() and before any subsequent mapping of the unmapped pages, further references to these pages will result in the delivery of a SIGBUS or SIGSEGV signal to the process.

The mmap(2) function often performs an implicit munmap().

Return Values

Upon successful completion, munmap() returns 0; otherwise, it returns −1 and sets errno to indicate an error.

Errors

The munmap() function will fail if:

EINVAL

The addr argument is not a multiple of the page size as returned by sysconf(3C); addresses in the range [addr, addr + len) are outside the valid range for the address space of a process; or the len argument has a value less than or equal to 0.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
Standard

See Also

mmap(2), sysconf(3C), attributes(5), standards(5)