summaryrefslogtreecommitdiffstats
path: root/tools/lib
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2024-06-11 07:06:26 +0200
committerNamhyung Kim <namhyung@kernel.org>2024-06-14 05:45:31 +0200
commit6c1785cd75ef55a308701813330a162002ffe192 (patch)
treeb3c831a422bc3645aacbfce00a6a7b2fc4b60743 /tools/lib
parentperf evsel: Refactor tool events (diff)
downloadlinux-6c1785cd75ef55a308701813330a162002ffe192.tar.xz
linux-6c1785cd75ef55a308701813330a162002ffe192.zip
perf record: Ensure space for lost samples
Previous allocation didn't account for sample ID written after the lost samples event. Switch from malloc/free to a stack allocation. Reported-by: Milian Wolff <milian.wolff@kdab.com> Closes: https://lore.kernel.org/linux-perf-users/23879991.0LEYPuXRzz@milian-workstation/ Signed-off-by: Ian Rogers <irogers@google.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20240611050626.1223155-1-irogers@google.com
Diffstat (limited to 'tools/lib')
-rw-r--r--tools/lib/perf/include/perf/event.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/lib/perf/include/perf/event.h b/tools/lib/perf/include/perf/event.h
index ae64090184d3..37bb7771d914 100644
--- a/tools/lib/perf/include/perf/event.h
+++ b/tools/lib/perf/include/perf/event.h
@@ -77,6 +77,12 @@ struct perf_record_lost_samples {
__u64 lost;
};
+#define MAX_ID_HDR_ENTRIES 6
+struct perf_record_lost_samples_and_ids {
+ struct perf_record_lost_samples lost;
+ __u64 sample_ids[MAX_ID_HDR_ENTRIES];
+};
+
/*
* PERF_FORMAT_ENABLED | PERF_FORMAT_RUNNING | PERF_FORMAT_ID | PERF_FORMAT_LOST
*/