From: Masami Hiramatsu (Google) Date: Fri, 7 Jul 2023 16:38:03 +0000 (+0900) Subject: fprobes: Add a comment why fprobe_kprobe_handler exits if kprobe is running X-Git-Tag: v6.6.17~4369^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5f28bb1ce04636b285726ee2a5afa3a514025f4;p=platform%2Fkernel%2Flinux-rpi.git fprobes: Add a comment why fprobe_kprobe_handler exits if kprobe is running Add a comment the reason why fprobe_kprobe_handler() exits if any other kprobe is running. Link: https://lore.kernel.org/all/168874788299.159442.2485957441413653858.stgit@devnote2/ Suggested-by: Steven Rostedt Link: https://lore.kernel.org/all/20230706120916.3c6abf15@gandalf.local.home/ Signed-off-by: Masami Hiramatsu (Google) Reviewed-by: Steven Rostedt (Google) --- diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c index 2571f7f..59321d2 100644 --- a/kernel/trace/fprobe.c +++ b/kernel/trace/fprobe.c @@ -100,6 +100,12 @@ static void fprobe_kprobe_handler(unsigned long ip, unsigned long parent_ip, return; } + /* + * This user handler is shared with other kprobes and is not expected to be + * called recursively. So if any other kprobe handler is running, this will + * exit as kprobe does. See the section 'Share the callbacks with kprobes' + * in Documentation/trace/fprobe.rst for more information. + */ if (unlikely(kprobe_running())) { fp->nmissed++; goto recursion_unlock;