#include <sys/mman.h>int munmap(void *addr, size_t len);
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
SIGSEGV signal to the process.
The mmap(2) function often performs an implicit munmap().
Upon successful completion, munmap() returns 0; otherwise, it returns -1 and sets errno to indicate an error.
The munmap() function will fail if:
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.