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 676703c..ee3f7a5 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