A given memory page may be writable, readable or executable. What kernal source code file in the linux kernal describes the setting of these rights? What process or kernal data structure would set the rights?To use slightly more clear terminology: What source code file of the linux kernal sets the NX bit in Linux systems? On a running system where might I find the data structure that governs this? This is not a question about a 3rd party application trying to set the nx bit. 
In the Linux Kernel what file/process controls the assignment of permissions to memory pages?
permissions;virtual memory