[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230902101034.907ddc22407d9117e432e28c@kernel.org>
Date: Sat, 2 Sep 2023 10:10:34 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Chuang Wang <nashuiliang@...il.com>,
Masami Hiramatsu (Google) <mhiramat@...nel.org>,
Ruan Jinjie <ruanjinjie@...wei.com>,
Steven Rostedt <rostedt@...dmis.org>,
LKML <linux-kernel@...r.kernel.org>
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@...nel.org>
Powered by blists - more mailing lists