All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	 Aaron Tomlin <atomlin@atomlin.com>
Cc: Howard Chu <howardchu95@gmail.com>,
	Jakub Brnak <jbrnak@redhat.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>, Jiri Olsa <jolsa@kernel.org>,
	 Adrian Hunter <adrian.hunter@intel.com>,
	James Clark <james.clark@linaro.org>,
	 linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Ian Rogers <irogers@google.com>
Subject: [PATCH v6 05/26] perf trace: Bound the fixed size augmented argument beautifiers
Date: Mon, 28 Sep 2026 11:25:44 -0700	[thread overview]
Message-ID: <20260928182605.3649015-6-irogers@google.com> (raw)
In-Reply-To: <20260928182605.3649015-1-irogers@google.com>

The timespec, sockaddr and perf_event_attr beautifiers read a fixed size
type from the payload without checking its size. The sockaddr payload is
addrlen bytes and the perf_event_attr payload is attr.size bytes, both
chosen by the tracee.

Check the payload with syscall_arg__augmented_args_valid(). Pass its size
to the address family printers, which also bounds the AF_LOCAL path that
needn't be NUL terminated. Like the kernel, accept an AF_INET6 address
without sin6_scope_id, RFC 2133's 24 bytes. Copy the perf_event_attr into
a zero padded local, as perf_event_attr___scnprintf() reads a whole
struct.

Assisted-by: Antigravity:gemini-3.1-pro
Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/trace/beauty/perf_event_open.c | 31 ++++++--------
 tools/perf/trace/beauty/sockaddr.c        | 49 +++++++++++++++++------
 tools/perf/trace/beauty/timespec.c        |  2 +-
 3 files changed, 51 insertions(+), 31 deletions(-)

diff --git a/tools/perf/trace/beauty/perf_event_open.c b/tools/perf/trace/beauty/perf_event_open.c
index 6315b46bcdf0..bfdf322c6ede 100644
--- a/tools/perf/trace/beauty/perf_event_open.c
+++ b/tools/perf/trace/beauty/perf_event_open.c
@@ -81,33 +81,28 @@ static size_t perf_event_attr___scnprintf(struct perf_event_attr *attr, char *bf
 
 static size_t syscall_arg__scnprintf_augmented_perf_event_attr(struct syscall_arg *arg, char *bf, size_t size)
 {
-	struct perf_event_attr *attr = (void *)arg->augmented.args->value;
+	const struct augmented_arg *augmented_arg = arg->augmented.args;
 	struct perf_event_attr local_attr;
+	size_t copied = (size_t)augmented_arg->size;
 
-	/*
-	 * augmented_raw_syscalls.bpf.c (shipped with perf) copies
-	 * PERF_ATTR_SIZE_VER0 bytes when the tracee passes size=0,
-	 * but leaves the size field as 0.  The payload size is
-	 * guaranteed by perf's own BPF program, not externally
-	 * controllable.  Copy to a local so we can fix up size
-	 * without writing to the potentially read-only augmented
-	 * args buffer.
-	 */
-	if (!attr->size) {
-		memcpy(&local_attr, attr, PERF_ATTR_SIZE_VER0);
-		memset((void *)&local_attr + PERF_ATTR_SIZE_VER0, 0,
-		       sizeof(local_attr) - PERF_ATTR_SIZE_VER0);
+	/* Zero pad, as the tracee's attr may be smaller than perf's. */
+	if (copied > sizeof(local_attr))
+		copied = sizeof(local_attr);
+
+	memcpy(&local_attr, augmented_arg->value, copied);
+	memset((void *)&local_attr + copied, 0, sizeof(local_attr) - copied);
+
+	/* The BPF program copies PERF_ATTR_SIZE_VER0 bytes for size 0. */
+	if (!local_attr.size)
 		local_attr.size = PERF_ATTR_SIZE_VER0;
-		attr = &local_attr;
-	}
 
-	return perf_event_attr___scnprintf(attr, bf, size,
+	return perf_event_attr___scnprintf(&local_attr, bf, size,
 					   trace__show_zeros(arg->trace));
 }
 
 size_t syscall_arg__scnprintf_perf_event_attr(char *bf, size_t size, struct syscall_arg *arg)
 {
-	if (arg->augmented.args)
+	if (syscall_arg__augmented_args_valid(arg, PERF_ATTR_SIZE_VER0))
 		return syscall_arg__scnprintf_augmented_perf_event_attr(arg, bf, size);
 
 	return scnprintf(bf, size, "%#lx", arg->val);
diff --git a/tools/perf/trace/beauty/sockaddr.c b/tools/perf/trace/beauty/sockaddr.c
index a17a27ac2a6f..b4b188879598 100644
--- a/tools/perf/trace/beauty/sockaddr.c
+++ b/tools/perf/trace/beauty/sockaddr.c
@@ -2,6 +2,7 @@
 // Copyright (C) 2018, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
 
 #include "trace/beauty/beauty.h"
+#include <stddef.h>
 #include <sys/socket.h>
 #include <sys/types.h>
 #include <sys/un.h>
@@ -10,36 +11,57 @@
 #include "trace/beauty/generated/sockaddr.c"
 DEFINE_STRARRAY(socket_families, "PF_");
 
-static size_t af_inet__scnprintf(struct sockaddr *sa, char *bf, size_t size)
+static size_t af_inet__scnprintf(struct sockaddr *sa, size_t sa_size, char *bf, size_t size)
 {
 	struct sockaddr_in *sin = (struct sockaddr_in *)sa;
 	char tmp[16];
+
+	if (sa_size < sizeof(*sin))
+		return 0;
+
 	return scnprintf(bf, size, ", port: %d, addr: %s", ntohs(sin->sin_port),
 			 inet_ntop(sin->sin_family, &sin->sin_addr, tmp, sizeof(tmp)));
 }
 
-static size_t af_inet6__scnprintf(struct sockaddr *sa, char *bf, size_t size)
+static size_t af_inet6__scnprintf(struct sockaddr *sa, size_t sa_size, char *bf, size_t size)
 {
 	struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa;
-	u32 flowinfo = ntohl(sin6->sin6_flowinfo);
+	u32 flowinfo;
 	char tmp[512];
-	size_t printed = scnprintf(bf, size, ", port: %d, addr: %s", ntohs(sin6->sin6_port),
-				   inet_ntop(sin6->sin6_family, &sin6->sin6_addr, tmp, sizeof(tmp)));
+	size_t printed;
+
+	/* RFC 2133's version, which the kernel accepts, lacks sin6_scope_id. */
+	if (sa_size < offsetof(struct sockaddr_in6, sin6_scope_id))
+		return 0;
+
+	flowinfo = ntohl(sin6->sin6_flowinfo);
+	printed = scnprintf(bf, size, ", port: %d, addr: %s", ntohs(sin6->sin6_port),
+			    inet_ntop(sin6->sin6_family, &sin6->sin6_addr, tmp, sizeof(tmp)));
 	if (flowinfo != 0)
 		printed += scnprintf(bf + printed, size - printed, ", flowinfo: %lu", flowinfo);
-	if (sin6->sin6_scope_id != 0)
+	if (sa_size >= sizeof(*sin6) && sin6->sin6_scope_id != 0)
 		printed += scnprintf(bf + printed, size - printed, ", scope_id: %lu", sin6->sin6_scope_id);
 
 	return printed;
 }
 
-static size_t af_local__scnprintf(struct sockaddr *sa, char *bf, size_t size)
+static size_t af_local__scnprintf(struct sockaddr *sa, size_t sa_size, char *bf, size_t size)
 {
 	struct sockaddr_un *sun = (struct sockaddr_un *)sa;
-	return scnprintf(bf, size, ", path: %s", sun->sun_path);
+	size_t path_size;
+
+	if (sa_size <= offsetof(struct sockaddr_un, sun_path))
+		return 0;
+
+	/* The path needn't be NUL terminated. */
+	path_size = sa_size - offsetof(struct sockaddr_un, sun_path);
+	if (path_size > sizeof(sun->sun_path))
+		path_size = sizeof(sun->sun_path);
+
+	return scnprintf(bf, size, ", path: %.*s", (int)path_size, sun->sun_path);
 }
 
-static size_t (*af_scnprintfs[])(struct sockaddr *sa, char *bf, size_t size) = {
+static size_t (*af_scnprintfs[])(struct sockaddr *sa, size_t sa_size, char *bf, size_t size) = {
 	[AF_LOCAL] = af_local__scnprintf,
 	[AF_INET]  = af_inet__scnprintf,
 	[AF_INET6] = af_inet6__scnprintf,
@@ -47,7 +69,9 @@ static size_t (*af_scnprintfs[])(struct sockaddr *sa, char *bf, size_t size) = {
 
 static size_t syscall_arg__scnprintf_augmented_sockaddr(struct syscall_arg *arg, char *bf, size_t size)
 {
-	struct sockaddr *sa = (struct sockaddr *)&arg->augmented.args->value;
+	const struct augmented_arg *augmented_arg = arg->augmented.args;
+	struct sockaddr *sa = (struct sockaddr *)&augmented_arg->value;
+	size_t sa_size = (size_t)augmented_arg->size;
 	char family[32];
 	size_t printed;
 
@@ -55,14 +79,15 @@ static size_t syscall_arg__scnprintf_augmented_sockaddr(struct syscall_arg *arg,
 	printed = scnprintf(bf, size, "{ .family: %s", family);
 
 	if (sa->sa_family < ARRAY_SIZE(af_scnprintfs) && af_scnprintfs[sa->sa_family])
-		printed += af_scnprintfs[sa->sa_family](sa, bf + printed, size - printed);
+		printed += af_scnprintfs[sa->sa_family](sa, sa_size, bf + printed, size - printed);
 
 	return printed + scnprintf(bf + printed, size - printed, " }");
 }
 
 size_t syscall_arg__scnprintf_sockaddr(char *bf, size_t size, struct syscall_arg *arg)
 {
-	if (arg->augmented.args)
+	/* The family printers check the rest of the payload. */
+	if (syscall_arg__augmented_args_valid(arg, sizeof(sa_family_t)))
 		return syscall_arg__scnprintf_augmented_sockaddr(arg, bf, size);
 
 	return scnprintf(bf, size, "%#lx", arg->val);
diff --git a/tools/perf/trace/beauty/timespec.c b/tools/perf/trace/beauty/timespec.c
index b14ab72a2738..8da0b28be0af 100644
--- a/tools/perf/trace/beauty/timespec.c
+++ b/tools/perf/trace/beauty/timespec.c
@@ -14,7 +14,7 @@ static size_t syscall_arg__scnprintf_augmented_timespec(struct syscall_arg *arg,
 
 size_t syscall_arg__scnprintf_timespec(char *bf, size_t size, struct syscall_arg *arg)
 {
-	if (arg->augmented.args)
+	if (syscall_arg__augmented_args_valid(arg, sizeof(struct timespec)))
 		return syscall_arg__scnprintf_augmented_timespec(arg, bf, size);
 
 	return scnprintf(bf, size, "%#lx", arg->val);
-- 
2.56.0.rc1.315.gc6ed9934b7-goog


  parent reply	other threads:[~2026-09-28 18:26 UTC|newest]

Thread overview: 268+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17  6:42 [PATCH v1 00/13] perf trace: Fix BPF filtering and make tracing tests non-exclusive Ian Rogers
2026-09-17  6:42 ` [PATCH v1 01/13] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-17  6:49   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 02/13] perf trace: Skip internal tracepoint fields in formatting and beauty map Ian Rogers
2026-09-17  6:52   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 03/13] perf trace: Do not set unaugmented BPF program on sys_exit map Ian Rogers
2026-09-17  6:51   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 04/13] perf trace: Filter events in BPF and avoid tracepoint vetoes Ian Rogers
2026-09-17  6:56   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 05/13] perf trace: Handle fork and exit directly in BPF filter maps Ian Rogers
2026-09-17  6:50   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 06/13] perf test test_task_analyzer: Isolate in temporary directory and make non-exclusive Ian Rogers
2026-09-17  6:49   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 07/13] perf test common: Do not globally disable tracing events in clear_all_probes Ian Rogers
2026-09-17  6:52   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 08/13] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-17  6:48   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 09/13] perf test record+probe_libc_inet_pton: Scope event to PID, add retries, " Ian Rogers
2026-09-17  6:49   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 10/13] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-17  6:49   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 11/13] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-17  6:52   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 12/13] perf test trace_summary: Make non-exclusive Ian Rogers
2026-09-17  6:52   ` sashiko-bot
2026-09-17  6:42 ` [PATCH v1 13/13] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-17  6:52   ` sashiko-bot
2026-09-17 16:38 ` [PATCH v2 00/14] perf trace: Fix BPF filtering and make tracing tests non-exclusive Ian Rogers
2026-09-17 16:38   ` [PATCH v2 01/14] perf trace: Include the headers declaring pid_t and strcmp Ian Rogers
2026-09-17 16:46     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 02/14] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-17 16:44     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 03/14] perf trace: Skip internal tracepoint fields in formatting and beauty map Ian Rogers
2026-09-17 16:50     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 04/14] perf trace: Do not set unaugmented BPF program on sys_exit map Ian Rogers
2026-09-17 16:54     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 05/14] perf trace: Filter events in BPF and avoid tracepoint vetoes Ian Rogers
2026-09-17 16:50     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 06/14] perf trace: Handle fork and exit directly in BPF filter maps Ian Rogers
2026-09-17 16:59     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 07/14] perf test test_task_analyzer: Isolate in temporary directory and make non-exclusive Ian Rogers
2026-09-17 16:47     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 08/14] perf test common: Do not globally disable tracing events in clear_all_probes Ian Rogers
2026-09-17 16:53     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 09/14] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-17 16:52     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 10/14] perf test record+probe_libc_inet_pton: Scope event to PID, add retries, " Ian Rogers
2026-09-17 16:57     ` sashiko-bot
2026-09-17 16:38   ` [PATCH v2 11/14] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-17 16:51     ` sashiko-bot
2026-09-17 16:39   ` [PATCH v2 12/14] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-17 16:54     ` sashiko-bot
2026-09-17 16:39   ` [PATCH v2 13/14] perf test trace_summary: Make non-exclusive Ian Rogers
2026-09-17 16:55     ` sashiko-bot
2026-09-17 16:39   ` [PATCH v2 14/14] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-17 16:56     ` sashiko-bot
2026-09-18 14:06   ` [PATCH v3 00/16] perf trace: Fix BPF filtering and make tracing tests non-exclusive Ian Rogers
2026-09-18 14:06     ` [PATCH v3 01/16] perf trace: Include the headers declaring pid_t, strcmp and assert Ian Rogers
2026-09-18 14:13       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 02/16] perf trace: Free the whole evsel_trace in evsel__put_and_free_priv Ian Rogers
2026-09-18 14:22       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 03/16] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-18 14:16       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 04/16] perf trace: Skip internal tracepoint fields in formatting and beauty map Ian Rogers
2026-09-18 14:28       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 05/16] perf trace: Do not set unaugmented BPF program on sys_exit map Ian Rogers
2026-09-18 14:33       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 06/16] perf trace: Filter events in BPF and avoid tracepoint vetoes Ian Rogers
2026-09-18 14:31       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 07/16] perf trace: Handle fork and exit directly in BPF filter maps Ian Rogers
2026-09-18 14:35       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 08/16] perf trace: Enumerate the target again once BPF is attached Ian Rogers
2026-09-18 14:47       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 09/16] perf test test_task_analyzer: Isolate in temporary directory and make non-exclusive Ian Rogers
2026-09-18 14:36       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 10/16] perf test common: Only disable probes in clear_all_probes Ian Rogers
2026-09-18 14:46       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 11/16] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-18 14:41       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 12/16] perf test record+probe_libc_inet_pton: Scope event to PID, add retries, " Ian Rogers
2026-09-18 14:45       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 13/16] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-18 14:46       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 14/16] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-18 14:51       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 15/16] perf test trace_summary: Make non-exclusive Ian Rogers
2026-09-18 14:51       ` sashiko-bot
2026-09-18 14:06     ` [PATCH v3 16/16] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-18 21:19     ` [PATCH v4 00/18] perf trace: Fix BPF filtering and make tracing tests non-exclusive Ian Rogers
2026-09-18 21:19       ` [PATCH v4 01/18] perf trace: Include the headers declaring pid_t, strcmp and assert Ian Rogers
2026-09-18 21:25         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 02/18] perf trace: Free the whole evsel_trace in evsel__put_and_free_priv Ian Rogers
2026-09-18 21:28         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 03/18] perf evsel: Report an allocation failure as ENOMEM when setting filters Ian Rogers
2026-09-18 21:30         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 04/18] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-18 21:26         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 05/18] perf trace: Skip internal tracepoint fields in formatting and beauty map Ian Rogers
2026-09-18 21:28         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 06/18] perf trace: Do not set unaugmented BPF program on sys_exit map Ian Rogers
2026-09-18 21:35         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 07/18] perf trace: Filter events in BPF and avoid tracepoint vetoes Ian Rogers
2026-09-18 21:29         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 08/18] perf trace: Handle fork and exit directly in BPF filter maps Ian Rogers
2026-09-18 21:31         ` sashiko-bot
2026-09-18 22:00           ` Ian Rogers
2026-09-18 21:19       ` [PATCH v4 09/18] perf trace: Enumerate the target again once BPF is attached Ian Rogers
2026-09-18 21:32         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 10/18] perf trace: Drop targets that died before they were filtered Ian Rogers
2026-09-18 21:27         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 11/18] perf test test_task_analyzer: Isolate in temporary directory and make non-exclusive Ian Rogers
2026-09-18 21:23         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 12/18] perf test common: Only disable probes in clear_all_probes Ian Rogers
2026-09-18 21:26         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 13/18] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-18 21:28         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 14/18] perf test record+probe_libc_inet_pton: Scope event to PID, add retries, " Ian Rogers
2026-09-18 21:30         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 15/18] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-18 21:27         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 16/18] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-18 21:31         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 17/18] perf test trace_summary: Make non-exclusive Ian Rogers
2026-09-18 21:31         ` sashiko-bot
2026-09-18 21:19       ` [PATCH v4 18/18] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-18 21:30         ` sashiko-bot
2026-09-22 13:11       ` [PATCH v4 00/18] perf trace: Fix BPF filtering and make tracing tests non-exclusive Arnaldo Carvalho de Melo
2026-09-22 22:43         ` Ian Rogers
2026-09-23  7:13       ` [PATCH v5 00/23] " Ian Rogers
2026-09-23  7:13         ` [PATCH v5 01/23] perf trace: Set the augmented arg header in the augmenters that omit it Ian Rogers
2026-09-23  7:25           ` sashiko-bot
2026-09-24  5:39           ` Namhyung Kim
2026-09-23  7:13         ` [PATCH v5 02/23] perf trace: Include the augmented arg header in nanosleep's payload length Ian Rogers
2026-09-23  7:25           ` sashiko-bot
2026-09-23 16:10             ` Ian Rogers
2026-09-23  7:13         ` [PATCH v5 03/23] perf trace: Include the headers declaring pid_t, strcmp and assert Ian Rogers
2026-09-23  7:20           ` sashiko-bot
2026-09-24  5:44           ` Namhyung Kim
2026-09-23  7:13         ` [PATCH v5 04/23] perf trace: Free the whole evsel_trace in evsel__put_and_free_priv Ian Rogers
2026-09-23  7:29           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 05/23] perf evsel: Report an allocation failure as ENOMEM when setting filters Ian Rogers
2026-09-23  7:23           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 06/23] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-23  7:21           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 07/23] perf trace: Skip internal tracepoint fields in formatting and beauty map Ian Rogers
2026-09-23  7:26           ` sashiko-bot
2026-09-24  6:44           ` Namhyung Kim
2026-09-23  7:13         ` [PATCH v5 08/23] perf trace: Bounds check augmented arguments before reading them Ian Rogers
2026-09-23  7:26           ` sashiko-bot
2026-09-24  6:58           ` Namhyung Kim
2026-09-23  7:13         ` [PATCH v5 09/23] perf trace: Bound the fixed size augmented argument beautifiers Ian Rogers
2026-09-23  7:22           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 10/23] perf trace: Do not read sample padding as an augmented argument Ian Rogers
2026-09-23  7:21           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 11/23] perf trace: Do not set unaugmented BPF program on sys_exit map Ian Rogers
2026-09-23  7:22           ` sashiko-bot
2026-09-24 22:49           ` Namhyung Kim
2026-09-23  7:13         ` [PATCH v5 12/23] perf trace: Filter events in BPF and avoid tracepoint vetoes Ian Rogers
2026-09-23  7:27           ` sashiko-bot
2026-09-25  2:59           ` Namhyung Kim
2026-09-25  4:10             ` Ian Rogers
2026-09-23  7:13         ` [PATCH v5 13/23] perf trace: Handle fork and exit directly in BPF filter maps Ian Rogers
2026-09-23  7:22           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 14/23] perf trace: Enumerate the target again once BPF is attached Ian Rogers
2026-09-23  7:29           ` sashiko-bot
2026-09-23 16:07             ` Ian Rogers
2026-09-23  7:13         ` [PATCH v5 15/23] perf trace: Drop targets that died before they were filtered Ian Rogers
2026-09-23  7:27           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 16/23] perf test test_task_analyzer: Isolate in temporary directory and make non-exclusive Ian Rogers
2026-09-23  7:24           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 17/23] perf test common: Only disable probes in clear_all_probes Ian Rogers
2026-09-23  7:27           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 18/23] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-23  7:28           ` sashiko-bot
2026-09-23  7:13         ` [PATCH v5 19/23] perf test record+probe_libc_inet_pton: Scope event to PID, add retries, " Ian Rogers
2026-09-23  7:28           ` sashiko-bot
2026-09-23  7:14         ` [PATCH v5 20/23] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-23  7:23           ` sashiko-bot
2026-09-23  7:14         ` [PATCH v5 21/23] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-23  7:29           ` sashiko-bot
2026-09-23  7:14         ` [PATCH v5 22/23] perf test trace_summary: Make non-exclusive Ian Rogers
2026-09-23  7:35           ` sashiko-bot
2026-09-23  7:14         ` [PATCH v5 23/23] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-23  7:26           ` sashiko-bot
2026-09-24  7:05         ` [PATCH v5 00/23] perf trace: Fix BPF filtering and make tracing tests non-exclusive Namhyung Kim
2026-09-28 18:25         ` [PATCH v6 00/26] " Ian Rogers
2026-09-28 18:25           ` [PATCH v6 01/26] perf trace: Set the augmented arg header in the augmenters that omit it Ian Rogers
2026-09-28 18:41             ` sashiko-bot
2026-09-30  3:50             ` Namhyung Kim
2026-09-28 18:25           ` [PATCH v6 02/26] perf trace: Include the augmented arg header in nanosleep's payload length Ian Rogers
2026-09-28 18:38             ` sashiko-bot
2026-09-30  4:02             ` Namhyung Kim
2026-09-28 18:25           ` [PATCH v6 03/26] perf trace: Don't read sample padding as an augmented argument Ian Rogers
2026-09-28 18:36             ` sashiko-bot
2026-09-30  4:14             ` Namhyung Kim
2026-09-28 18:25           ` [PATCH v6 04/26] perf trace: Bounds check augmented arguments before reading them Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-30  4:15             ` Namhyung Kim
2026-09-30 18:20             ` Aaron Tomlin
2026-09-30 18:34               ` Arnaldo Carvalho de Melo
2026-09-28 18:25           ` Ian Rogers [this message]
2026-09-28 18:34             ` [PATCH v6 05/26] perf trace: Bound the fixed size augmented argument beautifiers sashiko-bot
2026-09-30 18:22             ` Aaron Tomlin
2026-09-30 18:37               ` Arnaldo Carvalho de Melo
2026-09-28 18:25           ` [PATCH v6 06/26] perf trace: Copy sockaddr arguments by their length Ian Rogers
2026-09-28 18:38             ` sashiko-bot
2026-09-30 19:14             ` Arnaldo Carvalho de Melo
2026-09-30 23:08               ` Namhyung Kim
2026-10-01  6:01                 ` Ian Rogers
2026-10-01 15:32                   ` Arnaldo Carvalho de Melo
2026-10-01  9:07                 ` Arnaldo Carvalho de Melo
2026-10-01 17:17                   ` Ian Rogers
2026-10-01 18:34                     ` Arnaldo Carvalho de Melo
2026-10-02  6:54                       ` [PATCH 1/2] perf trace: Only call bpf_get_current_pid_tgid() when filtering tasks Ian Rogers
2026-10-02  6:54                         ` [PATCH 2/2] perf trace: Increase TRACE_AUG_MAX_BUF to 128 and document beauty_map encoding Ian Rogers
2026-10-02  9:14                           ` sashiko-bot
2026-10-02 16:17                           ` Arnaldo Carvalho de Melo
2026-10-02 20:04                           ` Aaron Tomlin
2026-10-02  9:14                         ` [PATCH 1/2] perf trace: Only call bpf_get_current_pid_tgid() when filtering tasks sashiko-bot
2026-10-02 16:17                         ` Arnaldo Carvalho de Melo
2026-10-02 20:03                         ` Aaron Tomlin
2026-09-28 18:25           ` [PATCH v6 07/26] perf trace: Start BPF summary before starting workload Ian Rogers
2026-09-28 18:35             ` sashiko-bot
2026-09-30 19:32             ` Aaron Tomlin
2026-09-28 18:25           ` [PATCH v6 08/26] perf trace: Stop at internal fields when walking syscall arguments Ian Rogers
2026-09-28 18:36             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 09/26] perf trace: Don't allocate syscall arg formats for internal fields Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 10/26] perf trace: Only take augmented arguments from the BPF output event Ian Rogers
2026-09-28 18:33             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 11/26] perf trace: Split unaugmented sys_exit program Ian Rogers
2026-09-28 18:35             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 12/26] perf trace: Use the CPU map index for the BPF output event's fds Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 13/26] perf trace: Destroy the BPF skeleton if it fails to load Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 14/26] perf thread_map: Add thread_map__tgid() Ian Rogers
2026-09-28 18:33             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 15/26] perf trace: Filter the target's tasks in BPF Ian Rogers
2026-09-28 18:39             ` sashiko-bot
2026-10-01 15:43             ` Arnaldo Carvalho de Melo
2026-10-01 16:36               ` Ian Rogers
2026-09-28 18:25           ` [PATCH v6 16/26] perf trace: Open the BPF output event on every CPU for task targets Ian Rogers
2026-09-28 18:36             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 17/26] perf trace: Do not return 0 from syscall tracepoint BPF Ian Rogers
2026-09-28 18:46             ` sashiko-bot
2026-09-28 19:26               ` Ian Rogers
2026-09-28 18:25           ` [PATCH v6 18/26] perf trace: Remove unused code Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-30 19:34             ` Aaron Tomlin
2026-09-28 18:25           ` [PATCH v6 19/26] perf trace: Add an option to disable syscall augmentation Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-28 18:25           ` [PATCH v6 20/26] perf test common: Only disable probes in clear_all_probes Ian Rogers
2026-09-28 18:37             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 21/26] perf test probe_vfs_getname: Scope probe name to PID and make non-exclusive Ian Rogers
2026-09-28 18:39             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 22/26] perf test record+probe_libc_inet_pton: Scope event " Ian Rogers
2026-09-28 18:41             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 23/26] perf test trace_summary: Improve error diagnostics Ian Rogers
2026-09-28 18:35             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 24/26] perf test trace_btf_general: Drop --max-events=1 and make non-exclusive Ian Rogers
2026-09-28 18:39             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 25/26] perf test: Remove exclusive tag from perf trace tests Ian Rogers
2026-09-28 18:40             ` sashiko-bot
2026-09-28 18:26           ` [PATCH v6 26/26] perf test uprobe_from_different_cu: Scope probe name to PID Ian Rogers
2026-09-28 18:38             ` sashiko-bot
2026-09-30 17:32           ` [PATCH v6 00/26] perf trace: Fix BPF filtering and make tracing tests non-exclusive Arnaldo Carvalho de Melo
2026-10-01  6:47             ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260928182605.3649015-6-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=atomlin@atomlin.com \
    --cc=howardchu95@gmail.com \
    --cc=james.clark@linaro.org \
    --cc=jbrnak@redhat.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.