Re: [PATCH 4.4 072/101] arm64: assembler: make adr_l work in modules under KASLR
From: Greg Kroah-Hartman
Date: Tue Jul 04 2017 - 05:29:42 EST
On Tue, Jul 04, 2017 at 10:24:37AM +0100, Ard Biesheuvel wrote:
> On 3 July 2017 at 14:35, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > 4.4-stable review patch. If anyone has any objections, please let me know.
> > ------------------
> > From: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> > [ Upstream commit 41c066f2c4d436c535616fe182331766c57838f0 ]
> > When CONFIG_RANDOMIZE_MODULE_REGION_FULL=y, the offset between loaded
> > modules and the core kernel may exceed 4 GB, putting symbols exported
> > by the core kernel out of the reach of the ordinary adrp/add instruction
> > pairs used to generate relative symbol references. So make the adr_l
> > macro emit a movz/movk sequence instead when executing in module context.
> > While at it, remove the pointless special case for the stack pointer.
> As it turns out, this 'pointless special case' was not so pointless in
> v4.4, and removing it breaks the build.
> Given that the only in-module user of adr_l is the new scalar AES
> code, which is not backported to v4.4, there is really no point in
> backporting this to v4.4.
Yes, I dropped it from the tree about 2 hours ago after the build-bots
reported it killed things :)