kernel_optimize_test/arch/arm64/kernel
Will Deacon df057cc7b4 arm64: errata: add module build workaround for erratum #843419
Cortex-A53 processors <= r0p4 are affected by erratum #843419 which can
lead to a memory access using an incorrect address in certain sequences
headed by an ADRP instruction.

There is a linker fix to generate veneers for ADRP instructions, but
this doesn't work for kernel modules which are built as unlinked ELF
objects.

This patch adds a new config option for the erratum which, when enabled,
builds kernel modules with the mcmodel=large flag. This uses absolute
addressing for all kernel symbols, thereby removing the use of ADRP as
a PC-relative form of addressing. The ADRP relocs are removed from the
module loader so that we fail to load any potentially affected modules.

Cc: <stable@vger.kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-09-17 11:57:03 +01:00
..
vdso
.gitignore
acpi.c
alternative.c
arm64ksyms.c
armv8_deprecated.c
asm-offsets.c
cacheinfo.c
cpu_errata.c
cpu_ops.c
cpufeature.c
cpuidle.c
cpuinfo.c
debug-monitors.c arm64: cpu hotplug: ensure we mask out CPU_TASKS_FROZEN in notifiers 2015-09-17 11:57:02 +01:00
efi-entry.S
efi-stub.c
efi.c
entry32.S
entry-fpsimd.S
entry-ftrace.S
entry.S
fpsimd.c
ftrace.c
head.S arm64: head.S: initialise mdcr_el2 in el2_setup 2015-09-15 15:50:01 +01:00
hw_breakpoint.c arm64: cpu hotplug: ensure we mask out CPU_TASKS_FROZEN in notifiers 2015-09-17 11:57:02 +01:00
hyp-stub.S
image.h
insn.c
io.c
irq.c
jump_label.c
kgdb.c
kuser32.S
Makefile
module.c arm64: errata: add module build workaround for erratum #843419 2015-09-17 11:57:03 +01:00
pci.c
perf_callchain.c
perf_event.c
perf_regs.c
process.c
psci-call.S
psci.c
ptrace.c
return_address.c
setup.c arm64: support initrd outside kernel linear map 2015-09-08 15:35:28 -07:00
signal32.c arm64: compat: fix vfp save/restore across signal handlers in big-endian 2015-09-17 11:57:03 +01:00
signal.c
sleep.S
smp_spin_table.c
smp.c
stacktrace.c
suspend.c
sys32.c
sys_compat.c
sys.c
time.c
topology.c
trace-events-emulation.h
traps.c
vdso.c
vmlinux.lds.S