]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: switch to relative exception tables
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 1 Jan 2016 14:02:12 +0000 (15:02 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 24 Feb 2016 14:57:26 +0000 (14:57 +0000)
commit2c3a7cf59a06dcdddc0e21a15e818652018d6b36
treee7a5384289c44b3d10a0ffb92dd7fb912998cfa6
parentab0581745b7df699198b509f9e916c55b2aab735
arm64: switch to relative exception tables

Instead of using absolute addresses for both the exception location
and the fixup, use offsets relative to the exception table entry values.
Not only does this cut the size of the exception table in half, it is
also a prerequisite for KASLR, since absolute exception table entries
are subject to dynamic relocation, which is incompatible with the sorting
of the exception table that occurs at build time.

This patch also introduces the _ASM_EXTABLE preprocessor macro (which
exists on x86 as well) and its _asm_extable assembly counterpart, as
shorthands to emit exception table entries.

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>
arch/arm64/include/asm/alternative.h
arch/arm64/include/asm/assembler.h
arch/arm64/include/asm/futex.h
arch/arm64/include/asm/uaccess.h
arch/arm64/include/asm/word-at-a-time.h
arch/arm64/kernel/armv8_deprecated.c
arch/arm64/mm/extable.c
scripts/sortextable.c