[PATCH v1 1/7] perf session: Fix minimum event size for PERF_RECORD_CALLCHAIN_DEFERRED
From: Ian Rogers
Date: Sun Oct 25 2026 - 18:05:44 EST
struct perf_record_callchain_deferred contains header, cookie, and nr
(24 bytes), but perf_event__min_size[PERF_RECORD_CALLCHAIN_DEFERRED]
only checked for header + one u64 (16 bytes). Use
sizeof(struct perf_record_callchain_deferred).
Fixes: c69993ecdd4d ("perf: Support deferred user unwind")
Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/util/session.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 56a5e57ec512..d9d06337933f 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -2773,7 +2773,7 @@ static const u32 perf_event__min_size[PERF_RECORD_HEADER_MAX] = {
[PERF_RECORD_HEADER_FEATURE] = sizeof(struct perf_record_header_feature),
[PERF_RECORD_COMPRESSED2] = sizeof(struct perf_record_compressed2),
[PERF_RECORD_BPF_METADATA] = sizeof(struct perf_record_bpf_metadata),
- [PERF_RECORD_CALLCHAIN_DEFERRED] = sizeof(struct perf_event_header) + sizeof(__u64),
+ [PERF_RECORD_CALLCHAIN_DEFERRED] = sizeof(struct perf_record_callchain_deferred),
/*
* SCHEDSTAT events have a version-dependent union after the
* fixed header fields; the minimum is the base (pre-union)
--
2.56.0.307.g5fe7bd680c-goog