mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
perf build-id: Reduce size of "size" variable
Later clean up of the dso_id to include a build_id will suffer from alignment and size issues. The size can only hold up to a value of BUILD_ID_SIZE (20) and the mmap2 event uses a byte for the value. Signed-off-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20250724163302.596743-2-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
fcc7cc3123
commit
f3982385bc
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
struct build_id {
|
||||
u8 data[BUILD_ID_SIZE];
|
||||
size_t size;
|
||||
u8 size;
|
||||
};
|
||||
|
||||
struct dso;
|
||||
|
|
|
|||
|
|
@ -2248,7 +2248,9 @@ int perf_event__synthesize_build_id(const struct perf_tool *tool,
|
|||
|
||||
memset(&ev, 0, len);
|
||||
|
||||
ev.build_id.size = min(bid->size, sizeof(ev.build_id.build_id));
|
||||
ev.build_id.size = bid->size;
|
||||
if (ev.build_id.size > sizeof(ev.build_id.build_id))
|
||||
ev.build_id.size = sizeof(ev.build_id.build_id);
|
||||
memcpy(ev.build_id.build_id, bid->data, ev.build_id.size);
|
||||
ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID;
|
||||
ev.build_id.header.misc = misc | PERF_RECORD_MISC_BUILD_ID_SIZE;
|
||||
|
|
@ -2308,7 +2310,9 @@ int perf_event__synthesize_mmap2_build_id(const struct perf_tool *tool,
|
|||
ev.mmap2.len = len;
|
||||
ev.mmap2.pgoff = pgoff;
|
||||
|
||||
ev.mmap2.build_id_size = min(bid->size, sizeof(ev.mmap2.build_id));
|
||||
ev.mmap2.build_id_size = bid->size;
|
||||
if (ev.mmap2.build_id_size > sizeof(ev.mmap2.build_id))
|
||||
ev.build_id.size = sizeof(ev.mmap2.build_id);
|
||||
memcpy(ev.mmap2.build_id, bid->data, ev.mmap2.build_id_size);
|
||||
|
||||
ev.mmap2.prot = prot;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user