Subject: [PATCH] arm64: Align .text section to PAGE_SIZE

From: [email-masked] (Jeremy Linton)
Date: Fri, 23 Oct 2015 11:32:15 -0500

On 10/23/2015 10:34 AM, Ard Biesheuvel wrote:
> It looks like fixup_executable() [with DEBUG_RODATA enabled] is the
> culprit here: it calls create mapping() with a size that gets rounded
> up to a multiple of PAGE_SIZE, which means the region that ends up
> getting its exec bits cleared is larger than it should. Perhaps it is
> better to fix that instead?

Ard,
	Thanks for taking a look at this!

	Your probably right.

	But AFAIK, with just that fix text/ro sections can be partially mapped 
without ro. It seems to me that putting a little padding in so that they 
are on separate pages is a good idea, especially since it seems the 
remaining sections of interest are page aligned, either explicitly in 
the linker script or via assembly directives in assorted places.

	Maybe a clearer fix is an additional ifdef in the DEBUG_ALIGN_RODATA 
stanza which sets ALIGN_DEBUG_RO to align to pagesize if DEBUG_RODATA is 
set, that way it only takes affect for RODATA.

Thanks,
	Jeremy