Re: [PATCH v2 resend 6/6] arm64: switch to relative exception tables
From: Ard Biesheuvel <hidden>
Date: 2016-01-27 19:39:31
Also in:
linux-arm-kernel, lkml
From: Ard Biesheuvel <hidden>
Date: 2016-01-27 19:39:31
Also in:
linux-arm-kernel, lkml
On 27 January 2016 at 20:35, Andrew Morton [off-list ref] wrote:
On Wed, 27 Jan 2016 11:55:23 +0100 Ard Biesheuvel [off-list ref] wrote:quoted
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.checkpatch speaketh truth: ERROR: #define of 'ARCH_HAS_RELATIVE_EXTABLE' is wrong - use Kconfig variables or standard guards instead #113: FILE: arch/arm64/include/asm/uaccess.h:56:
That may be true, but it extends an established pattern of #defines in the various uaccess.h versions, i.e., ARCH_HAS_SORT_EXTABLE, and ARCH_HAS_SEARCH_EXTABLE