From nobody Mon Feb 9 04:30:06 2026 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 9AE8F3358B6 for ; Wed, 29 Oct 2025 14:40:44 +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=1761748844; cv=none; b=rHMpowzDMqZ9NQia1PTafW9i7q2UEryAaqC8PXHCHCbfotV69oAIUIF2Oi6OZYcMigRgdTNWurXpA90X0YEKURbe74czQq/uJzNILEiHD5bkISj7ErnpzKx+Rtgj20qsic4Hroe9id0hGppyOYrAJhehxqdBW/5J5pHCWw8Z6b8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761748844; c=relaxed/simple; bh=KbIdQC6dInMhDPP8n6SgWM0TljxNLeWT7q2kyt6LT44=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=feBDynLYr70U0GqiR16g7deZuxPFsVfjnQ/tMsuMgP1I7t4T4QYLP96kCHfMIoh/zb/8FlwIJMduArQa9gtZ/EyXmwzkq6OzKZQBfnoLYm0lbbGNNnJfIvNxL6c58RHzCAlk1uk/U2kB1xDNO6TjvViSGJFJsNJwGgRFhQuuKoE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bIOaac6J; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bIOaac6J" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 428D5C4CEF8; Wed, 29 Oct 2025 14:40:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761748844; bh=KbIdQC6dInMhDPP8n6SgWM0TljxNLeWT7q2kyt6LT44=; h=Date:From:To:Cc:Subject:References:From; b=bIOaac6JssSvoAjk8TRtRhmbz7eWN3OyxEVn+6FcHOP5u2QEsMGQB/Dpi0JiOWohG vYDo1NNNZdGhf+5mNhwaa7YNW9y2+JDBRbNIoh5+vpDhmcsI5WzNdQuZNqJTRj752o /pke+rGwYms+570I5nVbS0gdQ7KcZmLH0w7CDD+wabJmUwe95Tjz9hjdoQt0qq9WZp BC49Mqtq8uBxmQk4xIHwk36OSALcYhkjYh22//rTKHpsQ4FADi64bSJxroBH9U5QxT Zlvjyi3IBPuP3vdYPt1cLsMx0+CN5SZWTUnD+PKZRUgN/RPXyBAgevMkoruLdhIFBe //djupGI48umg== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1vE7Mb-000000052yB-0QVA; Wed, 29 Oct 2025 10:41:25 -0400 Message-ID: <20251029144124.948264684@kernel.org> User-Agent: quilt/0.68 Date: Wed, 29 Oct 2025 10:40:50 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Peter Zijlstra , Namhyung Kim , Takaya Saeki , Tom Zanussi , Thomas Gleixner , Ian Rogers , Douglas Raillard , Arnaldo Carvalho de Melo , Jiri Olsa , Adrian Hunter , Ingo Molnar Subject: [for-next][PATCH 09/13] tracing: Show printable characters in syscall arrays References: <20251029144041.475297995@kernel.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 When displaying the contents of the user space data passed to the kernel, instead of just showing the array values, also print any printable content. Instead of just: bash-1113 [003] ..... 3433.290654: sys_write(fd: 2, buf: 0x555a8deedd= b0 (72:6f:6f:74:40:64:65:62:69:61:6e:2d:78:38:36:2d:36:34:3a:7e:23:20), cou= nt: 0x16) Display: bash-1113 [003] ..... 3433.290654: sys_write(fd: 2, buf: 0x555a8deedd= b0 (72:6f:6f:74:40:64:65:62:69:61:6e:2d:78:38:36:2d:36:34:3a:7e:23:20) "roo= t@debian-x86-64:~# ", count: 0x16) This only affects tracing and does not affect perf, as this only updates the output from the kernel. The output from perf is via user space. This may change by an update to libtraceevent that will then update perf to have this as well. Cc: Masami Hiramatsu Cc: Mark Rutland Cc: Mathieu Desnoyers Cc: Andrew Morton Cc: Peter Zijlstra Cc: Namhyung Kim Cc: Takaya Saeki Cc: Tom Zanussi Cc: Thomas Gleixner Cc: Ian Rogers Cc: Douglas Raillard Cc: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Adrian Hunter Cc: Ingo Molnar Link: https://lore.kernel.org/20251028231148.429422865@kernel.org Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace_syscalls.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index a2de6364777a..2d1307f13e13 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -155,6 +155,8 @@ print_syscall_enter(struct trace_iterator *iter, int fl= ags, trace_seq_printf(s, "%s(", entry->name); =20 for (i =3D 0; i < entry->nb_args; i++) { + bool printable =3D false; + char *str; =20 if (trace_seq_has_overflowed(s)) goto end; @@ -193,8 +195,11 @@ print_syscall_enter(struct trace_iterator *iter, int f= lags, =20 val =3D trace->args[entry->user_arg_size]; =20 + str =3D ptr; trace_seq_puts(s, " ("); for (int x =3D 0; x < len; x++, ptr++) { + if (isascii(*ptr) && isprint(*ptr)) + printable =3D true; if (x) trace_seq_putc(s, ':'); trace_seq_printf(s, "%02x", *ptr); @@ -203,6 +208,22 @@ print_syscall_enter(struct trace_iterator *iter, int f= lags, trace_seq_printf(s, ", %s", EXTRA); =20 trace_seq_putc(s, ')'); + + /* If nothing is printable, don't bother printing anything */ + if (!printable) + continue; + + trace_seq_puts(s, " \""); + for (int x =3D 0; x < len; x++) { + if (isascii(str[x]) && isprint(str[x])) + trace_seq_putc(s, str[x]); + else + trace_seq_putc(s, '.'); + } + if (len < val) + trace_seq_printf(s, "\"%s", EXTRA); + else + trace_seq_putc(s, '"'); } =20 trace_seq_putc(s, ')'); --=20 2.51.0