[PATCH v3 01/13] ARM: ftrace: ensure that ADR takes the Thumb bit into account

Ard Biesheuvel ardb at kernel.org
Thu Feb 3 00:21:52 PST 2022


Using ADR to take the address of 'ftrace_stub' via a local label
produces an address that has the Thumb bit cleared, which means the
subsequent comparison is guaranteed to fail. Instead, use the badr
macro, which forces the Thumb bit to be set.

Fixes: a3ba87a61499 ("ARM: 6316/1: ftrace: add Thumb-2 support")
Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
Reviewed-by: Steven Rostedt (Google) <rostedt at goodmis.org>
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
---
 arch/arm/kernel/entry-ftrace.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/kernel/entry-ftrace.S b/arch/arm/kernel/entry-ftrace.S
index a74289ebc803..f4886fb6e9ba 100644
--- a/arch/arm/kernel/entry-ftrace.S
+++ b/arch/arm/kernel/entry-ftrace.S
@@ -40,7 +40,7 @@
 	mcount_enter
 	ldr	r0, =ftrace_trace_function
 	ldr	r2, [r0]
-	adr	r0, .Lftrace_stub
+	badr	r0, .Lftrace_stub
 	cmp	r0, r2
 	bne	1f
 
-- 
2.30.2




More information about the linux-arm-kernel mailing list