From mboxrd@z Thu Jan 1 00:00:00 1970 From: fjohnber@zoho.com (Fredrick) Date: Wed, 25 Jan 2012 11:01:06 -0800 Subject: RO/NX Protections and Modules In-Reply-To: References: Message-ID: <4F205172.2070300@zoho.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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