linux/arch/arm64
Mark Rutland 3789c122d0 arm64: avoid instrumenting atomic_ll_sc.o
Our out-of-line atomics are built with a special calling convention,
preventing pointless stack spilling, and allowing us to patch call sites
with ARMv8.1 atomic instructions.

Instrumentation inserted by the compiler may result in calls to
functions not following this special calling convention, resulting in
registers being unexpectedly clobbered, and various problems resulting
from this.

For example, if a kernel is built with KCOV and ARM64_LSE_ATOMICS, the
compiler inserts calls to __sanitizer_cov_trace_pc in the prologues of
the atomic functions. This has been observed to result in spurious
cmpxchg failures, leading to a hang early on in the boot process.

This patch avoids such issues by preventing instrumentation of our
out-of-line atomics.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-04-27 12:14:44 +01:00
..
boot ARM: SoC device tree updates for 4.17 2018-04-05 21:18:09 -07:00
configs arm64: defconfig: add CONFIG_UNIPHIER_THERMAL and CONFIG_SNI_AVE 2018-03-27 15:31:19 +02:00
crypto kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers 2018-04-07 19:04:02 +09:00
include arm64/kernel: rename module_emit_adrp_veneer->module_emit_veneer_for_adrp 2018-04-24 19:07:35 +01:00
kernel arm64: fix possible spectre-v1 in ptrace_hbp_get_event() 2018-04-26 16:58:39 +01:00
kvm arm64: Move the content of bpi.S to hyp-entry.S 2018-04-11 18:49:30 +01:00
lib arm64: avoid instrumenting atomic_ll_sc.o 2018-04-27 12:14:44 +01:00
mm arm64: mm: drop addr parameter from sync icache and dcache 2018-04-24 09:23:00 +01:00
net bpf, arm64: fix out of bounds access in tail call 2018-02-22 16:06:28 -08:00
xen arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
Kconfig ARM: 2018-04-09 11:42:31 -07:00
Kconfig.debug arm64: relocation testing module 2017-04-04 17:03:32 +01:00
Kconfig.platforms arm64: add Renesas R8A77965 support 2018-03-13 19:05:58 +01:00
Makefile arm64: support __int128 with clang 2018-04-24 19:07:55 +01:00