ARM: fix Thumb2 regression with Spectre BHB
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 11 Mar 2022 17:13:17 +0000 (17:13 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Mar 2022 19:40:08 +0000 (11:40 -0800)
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>
arch/arm/kernel/entry-armv.S

index 676703cbfe4b27e6a38c9a68de79ea8c836e1480..ee3f7a599181e34dd3aa35b016d07d13df37952e 100644 (file)
@@ -1040,9 +1040,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