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

Russell King (Oracle) linux at armlinux.org.uk
Mon Feb 28 06:07:13 PST 2022


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.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list