diff options
author | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2023-11-10 11:59:03 +0100 |
---|---|---|
committer | Masami Hiramatsu (Google) <mhiramat@kernel.org> | 2023-11-10 11:59:03 +0100 |
commit | b2a866975f6cd5859c746f1da39c8f5736c8def2 (patch) | |
tree | 7e5874462fded7cd95f8e259cde12e4c68d9167f /Documentation/trace/kprobetrace.rst | |
parent | Merge tag 'net-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff) | |
download | linux-b2a866975f6cd5859c746f1da39c8f5736c8def2.tar.xz linux-b2a866975f6cd5859c746f1da39c8f5736c8def2.zip |
Documentation: tracing: Add a note about argument and retval access
Add a note about the argument and return value accecss will be best
effort. Depending on the type, it will be passed via stack or a
pair of the registers, but $argN and $retval only support the
single register access.
Link: https://lore.kernel.org/all/169556269377.146934.14829235476649685954.stgit@devnote2/
Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Diffstat (limited to '')
-rw-r--r-- | Documentation/trace/kprobetrace.rst | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Documentation/trace/kprobetrace.rst b/Documentation/trace/kprobetrace.rst index 8a2dfee38145..bf9cecb69fc9 100644 --- a/Documentation/trace/kprobetrace.rst +++ b/Documentation/trace/kprobetrace.rst @@ -61,8 +61,12 @@ Synopsis of kprobe_events (x8/x16/x32/x64), "char", "string", "ustring", "symbol", "symstr" and bitfield are supported. - (\*1) only for the probe on function entry (offs == 0). - (\*2) only for return probe. + (\*1) only for the probe on function entry (offs == 0). Note, this argument access + is best effort, because depending on the argument type, it may be passed on + the stack. But this only support the arguments via registers. + (\*2) only for return probe. Note that this is also best effort. Depending on the + return value type, it might be passed via a pair of registers. But this only + accesses one register. (\*3) this is useful for fetching a field of data structures. (\*4) "u" means user-space dereference. See :ref:`user_mem_access`. |