]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: ftrace: ensure that ADR takes the Thumb bit into account
authorArd Biesheuvel <ardb@kernel.org>
Mon, 24 Jan 2022 09:38:15 +0000 (10:38 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 9 Feb 2022 08:12:32 +0000 (09:12 +0100)
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@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/kernel/entry-ftrace.S

index a74289ebc803699955155b4f31bd387c8f23b9bd..f4886fb6e9baed94c3f67930d599d00a7b227c92 100644 (file)
@@ -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