From nobody Mon Sep 28 23:55:53 2026 Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F02F047884D for ; Fri, 14 Aug 2026 18:21:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=216.40.44.17 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786731662; cv=none; b=qBmMz9yK8Ffl5QLGsjB9hkmA8klCU5cdsHY6UVeXiKjOYfusV4QCgppVoxSh5B6sufcS5H6R/73wlG700ngUVYTjrOzbObWCoz5QUEBN/+xjBCVLt3xJP12jceec0y6VbDhpTbp+izZlIgjQyz4yZ8nMvl2cmWfSAmG10TpczKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786731662; c=relaxed/simple; bh=Dyob/fQFX3p2+JkSmG4O4yw5FJ16O0oxCch1JIqQXO0=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=WBydmWYbnFVWUMISP7X/TR90u4P5seDqdP/lkV0yQ+z2Q0R3s2ZCM0mI9Sca8oRXkySoWjYUDBb+pi5iKeSymKNoD3HpCQF7LLjHfQbT6L2y736W2RTxkKn7iC0lTj7eGVyONku4hadDygqWq9NgxlrlsWqgqwbUkadC+zPfglA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=goodmis.org; spf=pass smtp.mailfrom=goodmis.org; dkim=pass (1024-bit key) header.d=goodmis.org header.i=@goodmis.org header.b=JrZd29cY; arc=none smtp.client-ip=216.40.44.17 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=goodmis.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=goodmis.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=goodmis.org header.i=@goodmis.org header.b="JrZd29cY" Received: from omf09.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 09575A222B; Fri, 14 Aug 2026 18:20:53 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: rostedt@goodmis.org) by omf09.hostedemail.com (Postfix) with ESMTPA id 7D5582002A; Fri, 14 Aug 2026 18:20:52 +0000 (UTC) Date: Fri, 14 Aug 2026 14:21:10 -0400 From: Steven Rostedt To: LKML Cc: Masami Hiramatsu , Mathieu Desnoyers Subject: [for-next][PATCH] tracing: Have trace_event_update_all() only handle module that is loading Message-ID: <20260814142110.022a7e6f@gandalf.local.home> X-Mailer: Claws Mail 3.20.0git84 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 7D5582002A X-Stat-Signature: jcbj9azqj6exck9i8iyhrcrajf5f1kqo X-Rspamd-Server: rspamout07 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Session-ID: U2FsdGVkX1/2FdUzhcIlTi2Qr3hgMiRLCIOhGWJL9iA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=goodmis.org; h=date:from:to:cc:subject:message-id:mime-version:content-type:content-transfer-encoding; s=dkim1; bh=sNqGuzyi0LFgp7ZD/PFTrIiSXFK7zZ834Vjiju9GO+Y=; b=JrZd29cYIVzGfZiAcbN2/UvD3Ic9g/lAODRcH3l+xeUAYvcj9prLitBQb9T1wPVXNUc1KsY8J2eGxrw18z0/Tmx4mXoZrnH2B1Z3DFlaERPl3WuoufMFdEHkVoK8gwsBD0/yRbbr3iudFwqaVhvYPYGaHLdnT6eTm4TUKhYZp2k= X-HE-Tag: 1786731652-639496 X-HE-Meta: U2FsdGVkX1+Ac2yHUWi1iTllhegqq4dLFxTVzxxWYwdHiziTPC1mjwagt/tnbrNhoOql0y9LYDILHnyTJm/OLCLEtlV/cW8KbWWI8kOPhP3Rdj3qMj/4uRw9OnAuO7Z6ySOvfLLHZATICb4dpIlZyuWTBt160kFaJkLYJnT8ouMjIxGYZooVoQ8Nex50qMh7/3imWW/CZ+0DW90Xk2NM5m5F+Fxv4etX+1ZFDRoh5mgQuEAwexMOPFK2PwMuE9cAFKkwhWgG3hZ85ioXMhaULntaPTY0rWMbdbbyqaICmA1dbBJsZC8n5Qk5RE3r3nqwzQL6VocwMmaYZ6OyELxcMK2vIe2RD+W+iFE+vUuP48PRL3/OJ76uOhtE3w0AGOsGy2Fodz+4/5Bf96FAlJqoSffBU+y7vH5dtsEK616QPKbqSyumcgWeoNQksdo9cFq1mp/SWPA7NUjHrqHsfDdCmdtVrpzKdyDx3TnChMHknxc= Content-Type: text/plain; charset="utf-8" git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace/for-next Head SHA1: ae70b04ab9c7f6162a8c0fdd18a62a945c133142 Steven Rostedt (1): tracing: Have trace_event_update_all() only handle module that is loa= ding ---- kernel/trace/trace.c | 2 +- kernel/trace/trace.h | 4 ++-- kernel/trace/trace_events.c | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) --------------------------- commit ae70b04ab9c7f6162a8c0fdd18a62a945c133142 Author: Steven Rostedt Date: Thu Aug 13 20:42:26 2026 -0400 tracing: Have trace_event_update_all() only handle module that is loadi= ng =20 The function trace_event_update_all() does a scan of events looking to replace enums with their values in the strings that get exported to the event format files. It's run at boot up on all events and again when a module loads. =20 The issue is that when a module loads, it still runs on *all* events. There's no reason to process every event when a module loads as the previous events have already been processed. Only execute on the events that are loaded with the module. =20 Link: https://patch.msgid.link/20260813204226.29563591@gandalf.local.ho= me Fixes: 3673b8e4ce723 ("tracing: Allow for modules to convert their enum= s to values") Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 01a5e87af299..575912e4c310 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -4669,7 +4669,7 @@ trace_event_update_with_eval_map(struct module *mod, =20 map =3D start; =20 - trace_event_update_all(map, len); + trace_event_update_all(map, len, mod); =20 if (len <=3D 0) return; diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index bf77331f56a4..74a7a50d1e78 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -2285,13 +2285,13 @@ static inline const char *get_syscall_name(int sysc= all) =20 #ifdef CONFIG_EVENT_TRACING void trace_event_init(void); -void trace_event_update_all(struct trace_eval_map **map, int len); +void trace_event_update_all(struct trace_eval_map **map, int len, struct m= odule *mod); /* Used from boot time tracer */ extern int ftrace_set_clr_event(struct trace_array *tr, char *buf, int set= ); extern int trigger_process_regex(struct trace_event_file *file, char *buff= ); #else static inline void __init trace_event_init(void) { } -static inline void trace_event_update_all(struct trace_eval_map **map, int= len) { } +static inline void trace_event_update_all(struct trace_eval_map **map, int= len, struct module *mod) { } #endif =20 #ifdef CONFIG_TRACER_SNAPSHOT diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index ce902482ec7c..7313eb1361c9 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -3661,7 +3661,7 @@ static void update_event_fields(struct trace_event_ca= ll *call, } =20 /* Update all events for replacing eval and sanitizing */ -void trace_event_update_all(struct trace_eval_map **map, int len) +void trace_event_update_all(struct trace_eval_map **map, int len, struct m= odule *mod) { struct trace_event_call *call, *p; const char *last_system =3D NULL; @@ -3672,6 +3672,10 @@ void trace_event_update_all(struct trace_eval_map **= map, int len) =20 down_write(&trace_event_sem); list_for_each_entry_safe(call, p, &ftrace_events, list) { + + if (mod && call->module !=3D mod) + continue; + /* events are usually grouped together with systems */ if (!last_system || call->class->system !=3D last_system) { first =3D true;