From 70df46e8e3b01fd297e629cfe8a3a0a823adfe37 Mon Sep 17 00:00:00 2001 From: Yaxiong Tian Date: Wed, 4 Feb 2026 09:54:01 +0800 Subject: [PATCH] UPSTREAM: tracing/kprobes: Skip boot setup without cmdline events When the 'kprobe_event=' kernel command-line parameter is not provided, there is no need to execute setup_boot_kprobe_events(). This change optimizes the initialization function init_kprobe_trace() by skipping unnecessary work and effectively prevents potential blocking that could arise from contention on the event_mutex lock in subsequent operations. Link: https://patch.msgid.link/20260204015401.163748-1-tianyaxiong@kylinos.cn Acked-by: Masami Hiramatsu (Google) Signed-off-by: Yaxiong Tian Signed-off-by: Steven Rostedt (Google) [wenwfu: Backport to qcom-6.18.y from qualcomm-linux/kernel@2cdfe39dc9447a09c568da1b6351c70b770dd923] Signed-off-by: Wenwen Fu --- kernel/trace/trace_kprobe.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index ee8171b19bee2..9bb6b9990fcde 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c @@ -2048,6 +2048,10 @@ static __init int init_kprobe_trace(void) trace_create_file("kprobe_profile", TRACE_MODE_READ, NULL, NULL, &kprobe_profile_ops); + /* If no 'kprobe_event=' cmd is provided, return directly. */ + if (kprobe_boot_events_buf[0] == '\0') + return 0; + setup_boot_kprobe_events(); return 0;