ARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb2

[ Upstream commit 3cfb3019979666bdf33a1010147363cf05e0f17b ]

In Thumb2, 'b . + 4' produces a branch instruction that uses a narrow
encoding, and so it does not jump to the following instruction as
expected. So use W(b) instead.

Fixes: 6c7cb60bff7a ("ARM: fix Thumb2 regression with Spectre BHB")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Ard Biesheuvel 2022-04-20 09:46:17 +01:00 committed by Greg Kroah-Hartman
parent 0569702c23
commit 047794b3cf

View file

@ -1067,7 +1067,7 @@ vector_bhb_loop8_\name:
@ bhb workaround @ bhb workaround
mov r0, #8 mov r0, #8
3: b . + 4 3: W(b) . + 4
subs r0, r0, #1 subs r0, r0, #1
bne 3b bne 3b
dsb dsb