[PATCH v3 00/13] ARM: ftrace fixes and cleanups
Ard Biesheuvel
ardb at kernel.org
Thu Feb 3 00:21:51 PST 2022
This series addresses a number of issues in the ARM support code for
ftrace, mostly related to Thumb2 but affecting other configurations as
well.
Changes since v2:
- simplify kprobes patch and avoid global FPREG_ macros
- update cacheflush code to avoid R7 and R11 entirely, instead of
preserving/restoring them
- add new patch to disable ftrace in Broadcom Kona SMC code
- add acks from various folks (thanks!)
Changes since v1:
- add a couple of patches to enable ftrace in Thumb2 mode when building
with Clang, which was the one remaining unsupported configuration
- fix up some minor code issues caught by the bots
- add some acks
Cc: Steven Rostedt <rostedt at goodmis.org>
Cc: Sudeep Holla <sudeep.holla at arm.com>
Cc: Cristian Marussi <cristian.marussi at arm.com>
Cc: Nathan Chancellor <nathan at kernel.org>
Cc: Nick Desaulniers <ndesaulniers at google.com>
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Masami Hiramatsu <mhiramat at kernel.org>
Ard Biesheuvel (13):
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
drivers/firmware/scmi: disable ftrace for Clang 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 ++-
drivers/firmware/arm_scmi/Makefile | 7 ++
15 files changed, 189 insertions(+), 133 deletions(-)
--
2.30.2
More information about the linux-arm-kernel
mailing list