The
mprotect()
system call
changes the specified pages to have protection
prot.
Not all implementations will guarantee protection on a page basis;
the granularity of protection changes may be as large as an entire region.
A region is the virtual address space defined by the start
and end addresses of a
struct vm_map_entry.
Currently these protection bits are known,
which can be combined, OR'd together:
PROT_NONE
|
No permissions at all.
|
PROT_READ
|
The pages can be read.
|
PROT_WRITE
|
|
The pages can be written.
|
PROT_EXEC
|
The pages can be executed.
|