[PATCH v2 0/9] tracing: Improbe BTF support on probe events

From: Masami Hiramatsu (Google)
Date: Mon Jul 17 2023 - 11:24:05 EST


Hi,

Here is the 2nd version of series to improve the BTF support on probe events.
The previous series is here:

https://lore.kernel.org/linux-trace-kernel/168699521817.528797.13179901018528120324.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

In this version, I added a NULL check fix patch [1/9] (which will go to
fixes branch) and move BTF related API to kernel/bpf/btf.c [2/9] and add
a new BTF API [3/9] so that anyone can reuse it.
Also I decided to use '$retval' directly instead of 'retval' pseudo BTF
variable for field access at [5/9] because I introduced an idea to choose
function 'exit' event automatically if '$retval' is used [7/9]. With that
change, we can not use 'retval' because if a function has 'retval'
argument, we can not decide 'f func retval' is function exit or entry.
Selftest test case [8/9] and document [9/9] are also updated according to
those changes.

This series can be applied on top of "v6.5-rc2" kernel.

You can also get this series from:

git://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git topic/fprobe-event-ext


Thank you,

---

Masami Hiramatsu (Google) (9):
tracing/probes: Fix to add NULL check for BTF APIs
bpf/btf: tracing: Move finding func-proto API and getting func-param API to BTF
bpf/btf: Add a function to search a member of a struct/union
tracing/probes: Support BTF based data structure field access
tracing/probes: Support BTF field access from $retval
tracing/probes: Add string type check with BTF
tracing/fprobe-event: Assume fprobe is a return event by $retval
selftests/ftrace: Add BTF fields access testcases
Documentation: tracing: Update fprobe event example with BTF field


Documentation/trace/fprobetrace.rst | 50 ++
include/linux/btf.h | 7
kernel/bpf/btf.c | 83 ++++
kernel/trace/trace_fprobe.c | 58 ++-
kernel/trace/trace_probe.c | 402 +++++++++++++++-----
kernel/trace/trace_probe.h | 12 +
.../ftrace/test.d/dynevent/add_remove_btfarg.tc | 11 +
.../ftrace/test.d/dynevent/fprobe_syntax_errors.tc | 6
8 files changed, 503 insertions(+), 126 deletions(-)

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