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

Ard Biesheuvel ardb at kernel.org
Mon Feb 28 06:11:31 PST 2022


On Mon, 28 Feb 2022 at 15:07, Russell King (Oracle)
<linux at armlinux.org.uk> wrote:
>
> On Mon, Feb 28, 2022 at 01:46:26PM +0100, Ard Biesheuvel wrote:
> > On Mon, 14 Feb 2022 at 15:37, Ard Biesheuvel <ardb at kernel.org> wrote:
> > >
> > > The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:
> > >
> > >   Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)
> > >
> > > 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)
> > >
> > > PRv2: use rmk's current devel-stable as the start commit
> > >
> > > ----------------------------------------------------------------
> > > 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"
> > >
> > >  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(-)
> >
> > Ping?
>
> Unsurprisingly, this increases the amount of conflicts (both
> arch/arm/Kconfig* files) when merging it with v5.17-rc1.
>

Right, that does not surprise me either.

Does this mean this needs to wait for v5.19? Not the end of the world,
but not great either ...



More information about the linux-arm-kernel mailing list