]> git.itanic.dy.fi Git - linux-stable/commitdiff
perf tools: Convert to perf_record_header_attr_id()
authorNamhyung Kim <namhyung@kernel.org>
Fri, 25 Aug 2023 15:25:51 +0000 (08:25 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 29 Aug 2023 17:16:14 +0000 (14:16 -0300)
Instead of accessing the attr.id directly, use the
perf_record_header_attr_id() helper to handle old versions.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230825152552.112913-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/header.c
tools/perf/util/session.c
tools/perf/util/synthetic-events.c

index e13f4bab7c49fbb27e8c047341ab81d266181aa0..d812e1e371a743d7dcc3afd720d372f25e60ad99 100644 (file)
@@ -4405,7 +4405,7 @@ int perf_event__process_attr(struct perf_tool *tool __maybe_unused,
        if (perf_evsel__alloc_id(&evsel->core, 1, n_ids))
                return -ENOMEM;
 
-       ids = (void *)&event->attr.attr + event->attr.attr.size;
+       ids = perf_record_header_attr_id(event);
        for (i = 0; i < n_ids; i++) {
                perf_evlist__id_add(&evlist->core, &evsel->core, 0, i, ids[i]);
        }
index 00d18c74c0903aaf63093d20fa6054498be655e8..1e9aa8ed15b6445eb906b76738f1c780cebb0713 100644 (file)
@@ -833,8 +833,8 @@ static void perf_event__hdr_attr_swap(union perf_event *event,
        perf_event__attr_swap(&event->attr.attr);
 
        size = event->header.size;
-       size -= (void *)&event->attr.id - (void *)event;
-       mem_bswap_64(event->attr.id, size);
+       size -= perf_record_header_attr_id(event) - (void *)event;
+       mem_bswap_64(perf_record_header_attr_id(event), size);
 }
 
 static void perf_event__event_update_swap(union perf_event *event,
index 45714a2785fd71d05fad91b503010a47cb0329af..a0579c7d7b9e9ecbe0996e8fd54a8f277be1b597 100644 (file)
@@ -2145,7 +2145,7 @@ int perf_event__synthesize_attr(struct perf_tool *tool, struct perf_event_attr *
                return -ENOMEM;
 
        ev->attr.attr = *attr;
-       memcpy(ev->attr.id, id, ids * sizeof(u64));
+       memcpy(perf_record_header_attr_id(ev), id, ids * sizeof(u64));
 
        ev->attr.header.type = PERF_RECORD_HEADER_ATTR;
        ev->attr.header.size = (u16)size;