Masami Hiramatsu (Google)
d157d76944
tracing/probes: Support BTF field access from $retval
...
Support BTF argument on '$retval' for function return events including
kretprobe and fprobe for accessing the return value.
This also allows user to access its fields if the return value is a
pointer of a data structure.
E.g.
# echo 'f getname_flags%return +0($retval->name):string' \
> dynamic_events
# echo 1 > events/fprobes/getname_flags__exit/enable
# ls > /dev/null
# head -n 40 trace | tail
ls-87 [000] ...1. 8067.616101: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./function_profile_enabled"
ls-87 [000] ...1. 8067.616108: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./trace_stat"
ls-87 [000] ...1. 8067.616115: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./set_graph_notrace"
ls-87 [000] ...1. 8067.616122: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./set_graph_function"
ls-87 [000] ...1. 8067.616129: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./set_ftrace_notrace"
ls-87 [000] ...1. 8067.616135: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./set_ftrace_filter"
ls-87 [000] ...1. 8067.616143: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./touched_functions"
ls-87 [000] ...1. 8067.616237: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./enabled_functions"
ls-87 [000] ...1. 8067.616245: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./available_filter_functions"
ls-87 [000] ...1. 8067.616253: getname_flags__exit: (vfs_fstatat+0x3c/0x70 <- getname_flags) arg1="./set_ftrace_notrace_pid"
Link: https://lore.kernel.org/all/169272158234.160970.2446691104240645205.stgit@devnote2/
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
2023-08-23 09:40:51 +09:00
..
2023-04-28 16:11:26 -07:00
2023-02-21 09:23:22 -07:00
2023-07-25 17:06:37 -07:00
2023-07-12 12:06:04 -04:00
2023-07-16 12:13:51 -07:00
2023-07-12 12:06:04 -04:00
2023-07-12 17:47:37 -04:00
2023-06-30 10:44:53 -07:00
2023-03-19 12:20:48 -04:00
2023-08-23 09:39:45 +09:00
2023-07-12 12:01:16 -07:00
2022-11-23 19:08:30 -05:00
2023-07-28 19:59:03 -04:00
2023-02-18 14:34:09 -05:00
2022-09-26 13:01:09 -04:00
2022-09-26 13:01:09 -04:00
2023-07-05 10:30:49 -04:00
2023-08-23 09:40:16 +09:00
2023-08-23 09:40:16 +09:00
2022-11-23 19:07:12 -05:00
2023-06-20 18:38:37 -04:00
2023-08-23 09:39:15 +09:00
2022-11-23 19:08:31 -05:00
2023-01-25 10:31:11 -05:00
2023-07-23 11:18:52 -04:00
2023-05-26 13:52:19 -07:00
2023-07-28 19:59:03 -04:00
2023-07-28 19:59:03 -04:00
2023-07-10 21:38:13 -04:00
2023-07-28 20:29:51 -04:00
2023-02-12 10:23:39 -05:00
2023-08-23 09:39:15 +09:00
2023-06-20 18:38:37 -04:00
2023-03-19 13:23:22 -04:00
2023-07-12 12:06:04 -04:00
2023-08-23 09:39:15 +09:00
2023-06-22 10:39:56 -04:00
2023-06-30 10:33:17 -07:00
2023-03-29 06:52:08 -04:00
2023-01-31 15:01:46 +01:00
2023-07-14 17:04:58 +09:00
2023-07-14 17:04:58 +09:00
2023-08-23 09:40:51 +09:00
2023-08-23 09:40:51 +09:00
2022-05-26 21:12:52 -04:00
2023-05-28 21:15:46 -04:00
2023-07-28 19:59:04 -04:00
2023-01-25 10:31:24 -05:00
2022-11-17 20:21:06 -05:00
2023-08-23 09:39:15 +09:00
2023-08-23 09:40:28 +09:00
2023-07-16 12:13:51 -07:00
2022-10-03 12:20:31 -04:00
2023-07-23 11:08:14 -04:00