Re: RO/NX Protections and Modules

2012-01-25 Thread Fredrick
On 01/23/2012 02:04 PM, Dannie Stanley wrote:
> 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?
>

I guess this is a trade off.

> 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?
>

Most MMUs/TLBs deal only with page sized memory. They handle access 
attributes in page sized memory.

> Thank you,
> Dannie
>


-Fredrick



___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RO/NX Protections and Modules

2012-01-23 Thread Dannie Stanley
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

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies