Skip to content

Commit 8be098a

Browse files
mhiramatrostedt
authored andcommitted
docs: tracing: Update fprobe documentation
Update fprobe.rst for - the private entry_data argument - the return value of the entry handler - the nr_rethook_node field. Link: https://lkml.kernel.org/r/167526701579.433354.3057889264263546659.stgit@mhiramat.roam.corp.google.com Cc: Florent Revest <revest@chromium.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
1 parent 87de216 commit 8be098a

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

Documentation/trace/fprobe.rst

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,16 @@ returns as same as unregister_ftrace_function().
8787
The fprobe entry/exit handler
8888
=============================
8989

90-
The prototype of the entry/exit callback function is as follows:
90+
The prototype of the entry/exit callback function are as follows:
9191

9292
.. code-block:: c
9393
94-
void callback_func(struct fprobe *fp, unsigned long entry_ip, struct pt_regs *regs);
94+
int entry_callback(struct fprobe *fp, unsigned long entry_ip, struct pt_regs *regs, void *entry_data);
9595
96-
Note that both entry and exit callbacks have same ptototype. The @entry_ip is
97-
saved at function entry and passed to exit handler.
96+
void exit_callback(struct fprobe *fp, unsigned long entry_ip, struct pt_regs *regs, void *entry_data);
97+
98+
Note that the @entry_ip is saved at function entry and passed to exit handler.
99+
If the entry callback function returns !0, the corresponding exit callback will be cancelled.
98100

99101
@fp
100102
This is the address of `fprobe` data structure related to this handler.
@@ -113,6 +115,12 @@ saved at function entry and passed to exit handler.
113115
to use @entry_ip. On the other hand, in the exit_handler, the instruction
114116
pointer of @regs is set to the currect return address.
115117

118+
@entry_data
119+
This is a local storage to share the data between entry and exit handlers.
120+
This storage is NULL by default. If the user specify `exit_handler` field
121+
and `entry_data_size` field when registering the fprobe, the storage is
122+
allocated and passed to both `entry_handler` and `exit_handler`.
123+
116124
Share the callbacks with kprobes
117125
================================
118126

0 commit comments

Comments
 (0)