RO/NX Protections and Modules

Dannie Stanley dannie.stanley at gmail.com
Mon Jan 23 17:04:33 EST 2012


Regarding the source code for kernel version 2.6.38. In
kernel/module.c the function defined as:

   SYSCALL_DEFINE3(init_module...)

Calls set_section_ro_nx for core and init. My first question is this:

  Q1: Why doesn't the exit text/data get the RO/NX page protection?

In the set_section_ro_nx function the RO comment reads: "Do not
protect last partial page" and the NX comment reads: "Do not protect
first partial page." In the presence of mixed pages this makes sense.
However, change_page_attr_set_clr seems to check for page alignment.
So my second question is this:

  Q2: Does the RO/NX only apply to page aligned sections?


Thank you,
Dannie

-- 
Dannie M. Stanley



More information about the Kernelnewbies mailing list