Messages in this thread | | | Date | Sat, 2 Sep 2023 10:10:34 +0900 | From | Masami Hiramatsu (Google) <> | Subject | [GIT PULL] probes: Updates for 6.6 |
| |
Hi Linus,
Probes updates for v6.6:
- kprobes: use struct_size() for variable size kretprobe_instance data structure.
- eprobe: Simplify trace_eprobe list iteration.
- probe events: Data structure field access support on BTF argument. . Update BTF argument support on the functions in the kernel loadable modules (only loaded modules are supported). . Move generic BTF access function (search function prototype and get function parameters) to a separated file. . Add a function to search a member of data structure in BTF. . Support accessing BTF data structure member from probe args by C-like arrow('->') and dot('.') operators. e.g. 't sched_switch next=next->pid vruntime=next->se.vruntime' . Support accessing BTF data structure member from $retval. e.g. 'f getname_flags%return +0($retval->name):string' . Add string type checking if BTF type info is available. This will reject if user specify ":string" type for non "char pointer" type. . Automatically assume the fprobe event as a function return event if $retval is used.
- selftests/ftrace: Add BTF data field access test cases.
- Documentation: Update fprobe event example with BTF data field.
Please pull the latest probes-v6.6 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git probes-v6.6
Tag SHA1: 4c8c72dd0aff704689952eb31931fefcb6337801 Head SHA1: a2439a4c90856b83657aec4600c19551aa9501ff
Chuang Wang (1): tracing/eprobe: Iterate trace_eprobe directly
Masami Hiramatsu (Google) (9): tracing/probes: Support BTF argument on module functions tracing/probes: Move finding func-proto API and getting func-param API to trace_btf tracing/probes: 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
Ruan Jinjie (1): kernel: kprobes: Use struct_size()
---- Documentation/trace/fprobetrace.rst | 64 ++- include/linux/btf.h | 1 + kernel/bpf/btf.c | 2 +- kernel/kprobes.c | 6 +- kernel/trace/Makefile | 1 + kernel/trace/trace.c | 3 +- kernel/trace/trace_btf.c | 122 +++++ kernel/trace/trace_btf.h | 11 + kernel/trace/trace_eprobe.c | 22 +- kernel/trace/trace_fprobe.c | 59 ++- kernel/trace/trace_kprobe.c | 1 + kernel/trace/trace_probe.c | 499 +++++++++++++++------ kernel/trace/trace_probe.h | 27 +- kernel/trace/trace_uprobe.c | 1 + .../ftrace/test.d/dynevent/add_remove_btfarg.tc | 20 + .../ftrace/test.d/dynevent/fprobe_syntax_errors.tc | 10 +- 16 files changed, 661 insertions(+), 188 deletions(-) create mode 100644 kernel/trace/trace_btf.c create mode 100644 kernel/trace/trace_btf.h
-- Masami Hiramatsu (Google) <mhiramat@kernel.org>
| |