diff options
author | Ian Rogers <irogers@google.com> | 2024-06-11 07:06:26 +0200 |
---|---|---|
committer | Namhyung Kim <namhyung@kernel.org> | 2024-06-14 05:45:31 +0200 |
commit | 6c1785cd75ef55a308701813330a162002ffe192 (patch) | |
tree | b3c831a422bc3645aacbfce00a6a7b2fc4b60743 /tools/lib | |
parent | perf evsel: Refactor tool events (diff) | |
download | linux-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.h | 6 |
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 */ |