From nobody Fri Dec 19 12:30:00 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 CC191170A23; Sat, 12 Apr 2025 21:03:42 +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=1744491822; cv=none; b=eA88iBO00hCMQ+kS9oT4AdWjkXIWVuP0kZsFPFPt5idpLZkxDED1LHNo6MwE3kDdWkrK7VcwPixmbVNC8uJysCsXzqC2TC2U3+pdX4f1ikZo4Z3cLswQCICQyMk23VTCbLiFvYu2H24vAofwMhU/2Mzz+f1V+LkTa0MOFXwffYw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744491822; c=relaxed/simple; bh=/dxTjvf1nwp47obOQpKc/nAnFrDcdVF8sqdQbGww0ns=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=htWavPlSPQ9otk1b9eoBnNrkl5v8m/5hq2hBo29xCBNtrjZmsP3/a0EQQ1zopRyrb6aWsMFvaFwltPVubsiLNRlIvbMDmolbrzcnEA1dkin8RgZLvwyR1Ry8f8YRt2Nox8p/yTXwlXosXlmPEFO1b8LxGagZS8exIoIPj89ejU0= 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 ABF1AC4CEEC; Sat, 12 Apr 2025 21:03:42 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.98) (envelope-from ) id 1u3i2I-0000000AEDs-2aS5; Sat, 12 Apr 2025 17:05:10 -0400 Message-ID: <20250412210510.464408595@goodmis.org> User-Agent: quilt/0.68 Date: Sat, 12 Apr 2025 17:04:48 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , stable@vger.kernel.org, Tom Zanussi , Douglas Raillard Subject: [for-linus][PATCH 2/7] tracing: Do not add length to print format in synthetic events References: <20250412210446.338481957@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 following causes a vsnprintf fault: # echo 's:wake_lat char[] wakee; u64 delta;' >> /sys/kernel/tracing/dynam= ic_events # echo 'hist:keys=3Dpid:ts=3Dcommon_timestamp.usecs if !(common_flags & 0= x18)' > /sys/kernel/tracing/events/sched/sched_waking/trigger # echo 'hist:keys=3Dnext_pid:delta=3Dcommon_timestamp.usecs-$ts:onmatch(s= ched.sched_waking).trace(wake_lat,next_comm,$delta)' > /sys/kernel/tracing/= events/sched/sched_switch/trigger Because the synthetic event's "wakee" field is created as a dynamic string (even though the string copied is not). The print format to print the dynamic string changed from "%*s" to "%s" because another location (__set_synth_event_print_fmt()) exported this to user space, and user space did not need that. But it is still used in print_synth_event(), and the output looks like: -0 [001] d..5. 193.428167: wake_lat: wakee=3D(efaul= t)sshd-sessiondelta=3D155 sshd-session-879 [001] d..5. 193.811080: wake_lat: wakee=3D(efaul= t)kworker/u34:5delta=3D58 -0 [002] d..5. 193.811198: wake_lat: wakee=3D(efaul= t)bashdelta=3D91 bash-880 [002] d..5. 193.811371: wake_lat: wakee=3D(efaul= t)kworker/u35:2delta=3D21 -0 [001] d..5. 193.811516: wake_lat: wakee=3D(efaul= t)sshd-sessiondelta=3D129 sshd-session-879 [001] d..5. 193.967576: wake_lat: wakee=3D(efaul= t)kworker/u34:5delta=3D50 The length isn't needed as the string is always nul terminated. Just print the string and not add the length (which was hard coded to the max string length anyway). Cc: stable@vger.kernel.org Cc: Mathieu Desnoyers Cc: Tom Zanussi Cc: Douglas Raillard Acked-by: Masami Hiramatsu (Google) Link: https://lore.kernel.org/20250407154139.69955768@gandalf.local.home Fixes: 4d38328eb442d ("tracing: Fix synth event printk format for str field= s"); Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_events_synth.c | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/trace/trace_events_synth.c b/kernel/trace/trace_events_= synth.c index 969f48742d72..33cfbd4ed76d 100644 --- a/kernel/trace/trace_events_synth.c +++ b/kernel/trace/trace_events_synth.c @@ -370,7 +370,6 @@ static enum print_line_t print_synth_event(struct trace= _iterator *iter, union trace_synth_field *data =3D &entry->fields[n_u64]; =20 trace_seq_printf(s, print_fmt, se->fields[i]->name, - STR_VAR_LEN_MAX, (char *)entry + data->as_dynamic.offset, i =3D=3D se->n_fields - 1 ? "" : " "); n_u64++; --=20 2.47.2