[PATCH v5 0/3] tracing: kprobes: Prohibit probing on notrace functions

From: Masami Hiramatsu
Date: Mon Jul 30 2018 - 06:20:12 EST


Hi,

This is the 5th version of the series to prohibit kprobe
on notrace functions.

This fixes a build error when CONFIG_FUNCTION_TRACER=y but
DYNAMIC_FTRACE=n. Finally I decided to recover the approach
in the 1st version, made it depends on CONFIG_KPROBES_ON_FTRACE=y.
It is the simplest and enough to prohibiting kernel crash.

So, in summary, if CONFIG_KPROBES_ON_FTRACE=y (which depends
on CONFIG_DYNAMIC_FTRACE=y, so ftrace_location_range must be
there) && CONFIG_KPROBE_EVENTS_ON_NOTRACE=n (default),
kprobe events can not be defined on notrace function.
Otherwides (means CONFIG_KPROBES_ON_FTRACE=n or
CONFIG_KPROBE_EVENTS_ON_NOTRACE=y), we can put kprobe events
on notrace functions.

Francis, I dropped your tested-by because I got many kbuild
errors and fixed it. If you can, could you test it again?

Thank you,

---

Francis Deslauriers (1):
selftest/ftrace: Move kprobe selftest function to separate compile unit

Masami Hiramatsu (2):
tracing: kprobes: Prohibit probing on notrace function
selftests/ftrace: Fix kprobe string testcase to not probe notrace function


kernel/trace/Kconfig | 20 +++++++
kernel/trace/Makefile | 5 ++
kernel/trace/trace_kprobe.c | 59 +++++++++++++-------
kernel/trace/trace_kprobe_selftest.c | 10 +++
kernel/trace/trace_kprobe_selftest.h | 7 ++
.../ftrace/test.d/kprobe/kprobe_args_string.tc | 30 ++++------
.../selftests/ftrace/test.d/kprobe/probepoint.tc | 2 -
7 files changed, 94 insertions(+), 39 deletions(-)
create mode 100644 kernel/trace/trace_kprobe_selftest.c
create mode 100644 kernel/trace/trace_kprobe_selftest.h

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