[PATCH v2 0/7] powerpc/ftrace: Patch out -mprofile-kernel instructions

From: Naveen N. Rao
Date: Thu Jun 27 2019 - 07:24:11 EST


Changes since v1
(https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=114556):
- Patches 1,2,3 and 6: No changes
- Patch 4: Add smp_call_function() to flush icache on all cpus after
patching in the 'mflr r0' instruction.
- Patch 5: Changes as per Steven Rostedt's suggestions.
- Patch 7: Changes as per Masami and Joe Perches.

--
On powerpc64, -mprofile-kernel results in two instructions being
emitted: 'mflr r0' and 'bl _mcount'. So far, we were only nop'ing out
the branch to _mcount(). This series implements an approach to also nop
out the preceding mflr.


- Naveen


Naveen N. Rao (7):
ftrace: Expose flags used for ftrace_replace_code()
x86/ftrace: Fix use of flags in ftrace_replace_code()
ftrace: Expose __ftrace_replace_code()
powerpc/ftrace: Additionally nop out the preceding mflr with
-mprofile-kernel
ftrace: Update ftrace_location() for powerpc -mprofile-kernel
kprobes/ftrace: Use ftrace_location() when [dis]arming probes
powerpc/kprobes: Allow probing on any ftrace address

arch/powerpc/include/asm/ftrace.h | 8 +
arch/powerpc/kernel/kprobes-ftrace.c | 32 +++-
arch/powerpc/kernel/trace/ftrace.c | 258 ++++++++++++++++++++++++---
arch/x86/kernel/ftrace.c | 3 +-
include/linux/ftrace.h | 15 ++
kernel/kprobes.c | 10 +-
kernel/trace/ftrace.c | 15 +-
7 files changed, 302 insertions(+), 39 deletions(-)

--
2.22.0