Re: [PATCH] ARM: mm: fix location of _etext

From: Russell King - ARM Linux
Date: Mon Jun 13 2016 - 17:25:38 EST


On Mon, Jun 13, 2016 at 01:23:29PM -0700, Kees Cook wrote:
> On Wed, Jun 8, 2016 at 4:11 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> > The _etext position is defined to be the end of the kernel text code,
> > and should not include any part of the data segments. This interferes
> > with things that might check memory ranges and expect executable code
> > up to _etext.
> >
> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
>
> Can someone give this an Ack? I'd like to land it as it is a
> prerequisite to some usercopy hardening work I'm doing.

We use _etext to place the end of the "kernel code" resource in
/proc/iomem, and init_mm.end_code. I don't think anything makes
use of init_mm.end_code, but I'm more worried about the resource.

Currently, because of where _etext is placed, "kernel code" covers
the read-only data and other read-only sections as well - I don't
know whether we need to preserve that, but this change has a side
effect of changing that.

Maybe we also need a "kernel rodata" resource?

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.