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().