[PATCH 5/6] ARM: spectre-bhb: avoid cross-subsection jump using a numbered label
Ard Biesheuvel
ardb at kernel.org
Mon Mar 28 06:47:13 PDT 2022
In order to minimize potential confusion regarding numbered labels
appearing in a different order in the assembler output due to the use of
subsections, use a named local label to jump back into the vector
handler code from the associated loop8 mitigation sequence.
Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
---
arch/arm/kernel/entry-armv.S | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 3a62ee790b5e..d08e7f62ae57 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -1012,7 +1012,8 @@ vector_\name:
stmia sp, {r0, lr} @ save r0, lr
@ Save spsr_<exception> (parent CPSR)
-2: mrs lr, spsr
+.L\name\@:
+ mrs lr, spsr
str lr, [sp, #8] @ save spsr
@
@@ -1052,7 +1053,7 @@ vector_bhb_loop8_\name:
dsb nsh
@ isb not needed due to "movs pc, lr" in the vector stub
@ which gives a "context synchronisation".
- b 2b
+ b .L\name\@
ENDPROC(vector_bhb_loop8_\name)
.previous
#endif
--
2.30.2
More information about the linux-arm-kernel
mailing list