[PATCH v2 resend 6/6] arm64: switch to relative exception tables

Ard Biesheuvel ard.biesheuvel at linaro.org
Wed Jan 27 11:39:23 PST 2016


On 27 January 2016 at 20:35, Andrew Morton <akpm at linux-foundation.org> wrote:
> On Wed, 27 Jan 2016 11:55:23 +0100 Ard Biesheuvel <ard.biesheuvel at linaro.org> wrote:
>
>> 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



More information about the linux-arm-kernel mailing list