aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2020-06-30 14:02:48 +0100
committerWill Deacon <will@kernel.org>2020-11-09 21:49:34 +0000
commite35123d83ee35c31f64ecfbdfabbe5142d3025b8 (patch)
tree42cd6bf50f912bbeb4ba2cf8bbe32d98d89ba2c5 /arch/arm64/kernel/vmlinux.lds.S
parentarm64: alternatives: Remove READ_ONCE() usage during patch operation (diff)
downloadlinux-dev-e35123d83ee35c31f64ecfbdfabbe5142d3025b8.tar.xz
linux-dev-e35123d83ee35c31f64ecfbdfabbe5142d3025b8.zip
arm64: lto: Strengthen READ_ONCE() to acquire when CONFIG_LTO=y
When building with LTO, there is an increased risk of the compiler converting an address dependency headed by a READ_ONCE() invocation into a control dependency and consequently allowing for harmful reordering by the CPU. Ensure that such transformations are harmless by overriding the generic READ_ONCE() definition with one that provides acquire semantics when building with LTO. Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/kernel/vmlinux.lds.S')
-rw-r--r--arch/arm64/kernel/vmlinux.lds.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S
index 1bda604f4c70..d6cdcf4aa6a5 100644
--- a/arch/arm64/kernel/vmlinux.lds.S
+++ b/arch/arm64/kernel/vmlinux.lds.S
@@ -201,7 +201,7 @@ SECTIONS
INIT_CALLS
CON_INITCALL
INIT_RAM_FS
- *(.init.rodata.* .init.bss) /* from the EFI stub */
+ *(.init.altinstructions .init.rodata.* .init.bss) /* from the EFI stub */
}
.exit.data : {
EXIT_DATA