diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-01-11 14:54:53 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-05 12:40:25 (GMT) |
commit | f88f06e1831878ecdd5fa78090a45ea8ff77f38f (patch) | |
tree | 6704dc703f565e0f91c3aba6944de27483582edc /drivers | |
parent | aabb797b4c1204b2e8518538b2616e476f2bac92 (diff) | |
download | linux-f88f06e1831878ecdd5fa78090a45ea8ff77f38f.tar.xz |
arm64: assembler: make adr_l work in modules under KASLR
[ 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.
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions