Thread (10 messages) 10 messages, 2 authors, 2016-01-27

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help