[PATCH v3 00/16] kprobes: Unify kretprobe trampoline handlers

From: Masami Hiramatsu
Date: Thu Aug 27 2020 - 12:38:40 EST


Hi,

Here is the 3rd version of the series to unify the kretprobe trampoline handler
implementation across all architectures which are currently kprobes supported.
Previous version is here;

https://lkml.kernel.org/r/159852811819.707944.12798182250041968537.stgit@devnote2

This series removes the in_nmi() check from pre_kretprobe_handler() since we
can avoid double-lock deadlock from NMI by kprobe_busy_begin/end() and use
kfree_rcu() to release kretprobe_instance. Also, cleanup local functions to
static symbols.

Thank you,

---

Masami Hiramatsu (16):
kprobes: Add generic kretprobe trampoline handler
x86/kprobes: Use generic kretprobe trampoline handler
arm: kprobes: Use generic kretprobe trampoline handler
arm64: kprobes: Use generic kretprobe trampoline handler
arc: kprobes: Use generic kretprobe trampoline handler
csky: kprobes: Use generic kretprobe trampoline handler
ia64: kprobes: Use generic kretprobe trampoline handler
mips: kprobes: Use generic kretprobe trampoline handler
parisc: kprobes: Use generic kretprobe trampoline handler
powerpc: kprobes: Use generic kretprobe trampoline handler
s390: kprobes: Use generic kretprobe trampoline handler
sh: kprobes: Use generic kretprobe trampoline handler
sparc: kprobes: Use generic kretprobe trampoline handler
kprobes: Remove NMI context check
kprobes: Free kretprobe_instance with rcu callback
kprobes: Make local used functions static


arch/arc/kernel/kprobes.c | 55 +--------------
arch/arm/probes/kprobes/core.c | 79 +--------------------
arch/arm64/kernel/probes/kprobes.c | 79 +--------------------
arch/csky/kernel/probes/kprobes.c | 78 +--------------------
arch/ia64/kernel/kprobes.c | 79 +--------------------
arch/mips/kernel/kprobes.c | 55 +--------------
arch/parisc/kernel/kprobes.c | 78 ++-------------------
arch/powerpc/kernel/kprobes.c | 55 +--------------
arch/s390/kernel/kprobes.c | 81 +--------------------
arch/sh/kernel/kprobes.c | 59 +---------------
arch/sparc/kernel/kprobes.c | 52 +-------------
arch/x86/kernel/kprobes/core.c | 109 +----------------------------
include/linux/kprobes.h | 51 ++++++++------
kernel/kprobes.c | 136 +++++++++++++++++++++++++++++-------
14 files changed, 190 insertions(+), 856 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>