]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tracing/kprobe: Make trace_kprobe's module callback called after jump_label update
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Wed, 11 Dec 2024 00:10:55 +0000 (09:10 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2025 12:28:39 +0000 (13:28 +0100)
[ Upstream commit d685d55dfc86b1a4bdcec77c3c1f8a83f181264e ]

Make sure the trace_kprobe's module notifer callback function is called
after jump_label's callback is called. Since the trace_kprobe's callback
eventually checks jump_label address during registering new kprobe on
the loading module, jump_label must be updated before this registration
happens.

Link: https://lore.kernel.org/all/173387585556.995044.3157941002975446119.stgit@devnote2/
Fixes: 614243181050 ("tracing/kprobes: Support module init function probing")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/trace/trace_kprobe.c

index baaaf9bc05f2b71ab59aa6d0f54e3db913354d8f..3a1c54c9918b44fe73c7f02ea2ba1d866a06cdc0 100644 (file)
@@ -705,7 +705,7 @@ static int trace_kprobe_module_callback(struct notifier_block *nb,
 
 static struct notifier_block trace_kprobe_module_nb = {
        .notifier_call = trace_kprobe_module_callback,
-       .priority = 1   /* Invoked after kprobe module callback */
+       .priority = 2   /* Invoked after kprobe and jump_label module callback */
 };
 
 struct count_symbols_struct {