summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-03-11 17:13:17 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-03-16 13:20:28 +0100
commit691f354689e94571853c79ac3d7d6e7f27dfb87b (patch)
tree3b16abf30797a3937e87b903848493d3b3f8090c
parent199e4766e478ecb58457fd3414dc504e102618df (diff)
downloadlinux-stable-691f354689e94571853c79ac3d7d6e7f27dfb87b.tar.gz
linux-stable-691f354689e94571853c79ac3d7d6e7f27dfb87b.tar.bz2
linux-stable-691f354689e94571853c79ac3d7d6e7f27dfb87b.zip
ARM: fix Thumb2 regression with Spectre BHB
commit 6c7cb60bff7aec24b834343ff433125f469886a3 upstream. When building for Thumb2, the vectors make use of a local label. Sadly, the Spectre BHB code also uses a local label with the same number which results in the Thumb2 reference pointing at the wrong place. Fix this by changing the number used for the Spectre BHB local label. Fixes: b9baf5c8c5c3 ("ARM: Spectre-BHB workaround") Tested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/arm/kernel/entry-armv.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 3ed860c8cd73..a929b6acb149 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -1067,9 +1067,9 @@ vector_bhb_loop8_\name:
@ bhb workaround
mov r0, #8
-1: b . + 4
+3: b . + 4
subs r0, r0, #1
- bne 1b
+ bne 3b
dsb
isb
b 2b