From nobody Wed Dec 17 10:44:30 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 2531E294A1C for ; Fri, 9 May 2025 13:13:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746796383; cv=none; b=QC4V8GjaIKdeMx+Zqu/XO85aMo855n4o3y5DVDgGZFU+l3KF+fqDNKtj6APnVNRE534gL7Mf4WQD+/PTT4N5qRfZVj/Xj1+PWCp1+ZJ34x9vS8sP7h+OEkiK+GwPp3QQJJWJcD9GqwxsOkgUNXAGSHuuecC/l/zqO8O12H6puoo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746796383; c=relaxed/simple; bh=jq9Owi/+9mbZr1A2hvJpkBYZMWiknPtUn2FHMj/XLaM=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=RaiTl0PZnJtLsekY7oiYmRbqqcBb5PWylPjlfXEPwM71RcOGEzIONaT0KI0RFBa0QHXf+YbibYu1TKN/G7pQ8fNNJS2CoEKIm5KQjajdholKBmBDLh5LYMlTormXVctjHufTDLG7OE2NeRnERqxfb56ovhVRmf0JIu4OHXSL0Qk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0BFBC4CEEF; Fri, 9 May 2025 13:13:02 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uDNXS-00000002c1J-0kYX; Fri, 09 May 2025 09:13:18 -0400 Message-ID: <20250509131318.027720878@goodmis.org> User-Agent: quilt/0.68 Date: Fri, 09 May 2025 09:13:16 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Tom Zanussi Subject: [for-next][PATCH 27/31] tracing: Rename event_trigger_alloc() to trigger_data_alloc() References: <20250509131249.340302366@goodmis.org> 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 Content-Type: text/plain; charset="utf-8" From: Steven Rostedt The function event_trigger_alloc() creates an event_trigger_data descriptor and states that it needs to be freed via event_trigger_free(). This is incorrect, it needs to be freed by trigger_data_free() as event_trigger_free() adds ref counting. Rename event_trigger_alloc() to trigger_data_alloc() and state that it needs to be freed via trigger_data_free(). This naming convention was introducing bugs. Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Mathieu Desnoyers Cc: Andrew Morton Cc: Tom Zanussi Link: https://lore.kernel.org/20250507145455.776436410@goodmis.org Fixes: 86599dbe2c527 ("tracing: Add helper functions to simplify event_comm= and.parse() callback handling") Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.h | 8 +++----- kernel/trace/trace_events_hist.c | 2 +- kernel/trace/trace_events_trigger.c | 16 ++++++++-------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 4e67ee92e05c..86e9d7dcddba 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1788,6 +1788,9 @@ extern int event_enable_register_trigger(char *glob, extern void event_enable_unregister_trigger(char *glob, struct event_trigger_data *test, struct trace_event_file *file); +extern struct event_trigger_data * +trigger_data_alloc(struct event_command *cmd_ops, char *cmd, char *param, + void *private_data); extern void trigger_data_free(struct event_trigger_data *data); extern int event_trigger_init(struct event_trigger_data *data); extern int trace_event_trigger_enable_disable(struct trace_event_file *fil= e, @@ -1814,11 +1817,6 @@ extern bool event_trigger_check_remove(const char *g= lob); extern bool event_trigger_empty_param(const char *param); extern int event_trigger_separate_filter(char *param_and_filter, char **pa= ram, char **filter, bool param_required); -extern struct event_trigger_data * -event_trigger_alloc(struct event_command *cmd_ops, - char *cmd, - char *param, - void *private_data); extern int event_trigger_parse_num(char *trigger, struct event_trigger_data *trigger_data); extern int event_trigger_set_filter(struct event_command *cmd_ops, diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_h= ist.c index 58c9535f61df..1d536219b624 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -6826,7 +6826,7 @@ static int event_hist_trigger_parse(struct event_comm= and *cmd_ops, return PTR_ERR(hist_data); } =20 - trigger_data =3D event_trigger_alloc(cmd_ops, cmd, param, hist_data); + trigger_data =3D trigger_data_alloc(cmd_ops, cmd, param, hist_data); if (!trigger_data) { ret =3D -ENOMEM; goto out_free; diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_event= s_trigger.c index b66b6d235d91..dac3344ee345 100644 --- a/kernel/trace/trace_events_trigger.c +++ b/kernel/trace/trace_events_trigger.c @@ -804,7 +804,7 @@ int event_trigger_separate_filter(char *param_and_filte= r, char **param, } =20 /** - * event_trigger_alloc - allocate and init event_trigger_data for a trigger + * trigger_data_alloc - allocate and init event_trigger_data for a trigger * @cmd_ops: The event_command operations for the trigger * @cmd: The cmd string * @param: The param string @@ -815,14 +815,14 @@ int event_trigger_separate_filter(char *param_and_fil= ter, char **param, * trigger_ops to assign to the event_trigger_data. @private_data can * also be passed in and associated with the event_trigger_data. * - * Use event_trigger_free() to free an event_trigger_data object. + * Use trigger_data_free() to free an event_trigger_data object. * * Return: The trigger_data object success, NULL otherwise */ -struct event_trigger_data *event_trigger_alloc(struct event_command *cmd_o= ps, - char *cmd, - char *param, - void *private_data) +struct event_trigger_data *trigger_data_alloc(struct event_command *cmd_op= s, + char *cmd, + char *param, + void *private_data) { struct event_trigger_data *trigger_data; const struct event_trigger_ops *trigger_ops; @@ -989,7 +989,7 @@ event_trigger_parse(struct event_command *cmd_ops, return ret; =20 ret =3D -ENOMEM; - trigger_data =3D event_trigger_alloc(cmd_ops, cmd, param, file); + trigger_data =3D trigger_data_alloc(cmd_ops, cmd, param, file); if (!trigger_data) goto out; =20 @@ -1793,7 +1793,7 @@ int event_enable_trigger_parse(struct event_command *= cmd_ops, enable_data->enable =3D enable; enable_data->file =3D event_enable_file; =20 - trigger_data =3D event_trigger_alloc(cmd_ops, cmd, param, enable_data); + trigger_data =3D trigger_data_alloc(cmd_ops, cmd, param, enable_data); if (!trigger_data) { kfree(enable_data); goto out; --=20 2.47.2