[GIT PULL] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder

Ard Biesheuvel ardb at kernel.org
Mon Feb 14 04:44:12 PST 2022


On Mon, 14 Feb 2022 at 13:40, Ard Biesheuvel <ardb at kernel.org> wrote:
>
> The following changes since commit 4d5a643e738c6b6ccc1a05f6938643c3f08df29b:
>
>   ARM: make get_current() and __my_cpu_offset() __always_inline (2022-01-31 16:06:35 +0100)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk
>
> for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:
>
>   Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)
>

Please disregard - the tag is correct but the patch list and
everything else looks very odd. Will send out a v2 once I figure out
what's wrong.

-- 
Ard.



> ----------------------------------------------------------------
> ARM: ftrace fixes and cleanups
>
> Make all flavors of ftrace available on all builds, regardless of ISA
> choice, unwinder choice or compiler:
> - use ADD not POP where possible
> - fix a couple of Thumb2 related issues
> - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
> - enable the graph tracer with the EABI unwinder
> - avoid clobbering frame pointer registers to make Clang happy
>
> Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
>
> ----------------------------------------------------------------
> Ard Biesheuvel (12):
>       ARM: ftrace: ensure that ADR takes the Thumb bit into account
>       ARM: ftrace: use ADD not POP to counter PUSH at entry
>       ARM: ftrace: use trampolines to keep .init.text in branching range
>       ARM: ftrace: avoid redundant loads or clobbering IP
>       ARM: ftrace: avoid unnecessary literal loads
>       ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
>       ARM: unwind: track location of LR value in stack frame
>       ARM: ftrace: enable the graph tracer with the EABI unwinder
>       ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
>       ARM: cacheflush: avoid clobbering the frame pointer
>       ARM: mach-bcm: disable ftrace in SMC invocation routines
>       Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
>
> Russell King (Oracle) (1):
>       Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable
>
>  arch/arm/Kconfig                         |   4 +-
>  arch/arm/Kconfig.debug                   |   2 +-
>  arch/arm/include/asm/cacheflush.h        |  12 +--
>  arch/arm/include/asm/ftrace.h            |  20 +----
>  arch/arm/include/asm/stacktrace.h        |   3 +
>  arch/arm/kernel/Makefile                 |   6 +-
>  arch/arm/kernel/entry-ftrace.S           | 128 +++++++++++++++++--------------
>  arch/arm/kernel/ftrace.c                 |  62 +++++++++++++--
>  arch/arm/kernel/unwind.c                 |   7 +-
>  arch/arm/mach-bcm/Makefile               |   1 +
>  arch/arm/mach-exynos/mcpm-exynos.c       |   6 +-
>  arch/arm/mm/cache-v7.S                   |  40 +++++-----
>  arch/arm/probes/kprobes/actions-common.c |   8 +-
>  arch/arm/probes/kprobes/actions-thumb.c  |  16 +++-
>  14 files changed, 182 insertions(+), 133 deletions(-)



More information about the linux-arm-kernel mailing list