perf parse-events: Fix an incompatible pointer 02/313102/1 accepted/tizen/unified/20240619.152004 accepted/tizen/unified/dev/20240701.073036
authorIan Rogers <irogers@google.com>
Tue, 9 Jun 2020 05:36:09 +0000 (22:36 -0700)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 19 Jun 2024 05:09:40 +0000 (14:09 +0900)
Arrays are pointer types and don't need their address taking.

Fixes: 8255718f4bed (perf pmu: Expand PMU events by prefix match)
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lore.kernel.org/lkml/20200609053610.206588-1-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
[sw0312.kim: backport mainline commint c2412fae3f01 to resolve gcc-14 build issue
 - Add to fix access of sys_name and cast for parse_events_get_extra]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: Ibbac7790364c500e42e47f9a4562154884bda65f

tools/perf/util/parse-events.l
tools/perf/util/parse-events.y

index 660fca05bc93bd8f724a9f3cef3f0f3d86abb983..3b02790ad674526a59dacdbf1d9cb9fead656661 100644 (file)
@@ -155,7 +155,7 @@ modifier_bp [rwx]{1,3}
        {
                int start_token;
 
-               start_token = parse_events_get_extra(yyscanner);
+               start_token = (int)(uintptr_t)parse_events_get_extra(yyscanner);
 
                if (start_token == PE_START_TERMS)
                        BEGIN(config);
index d30a565a6a9655272b2ff376946c1c92aa2341db..1119c6b8c12e5d9ae955b3f34cced514cfe95da1 100644 (file)
@@ -259,11 +259,11 @@ PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc
        struct parse_events_term *term;
        struct list_head *list;
        char pmu_name[128];
-       snprintf(&pmu_name, 128, "%s-%s", $1, $3);
+       snprintf(pmu_name, sizeof(pmu_name), "%s-%s", $1, $3);
 
        ALLOC_LIST(head);
        ABORT_ON(parse_events_term__num(&term, PARSE_EVENTS__TERM_TYPE_USER,
-                                       &pmu_name, 1, &@1, NULL));
+                                       pmu_name, 1, &@1, NULL));
        list_add_tail(&term->list, head);
 
        ALLOC_LIST(list);
@@ -409,8 +409,8 @@ PE_NAME '-' PE_NAME ':' PE_NAME
        char sys_name[128];
        struct tracepoint_name tracepoint;
 
-       snprintf(&sys_name, 128, "%s-%s", $1, $3);
-       tracepoint.sys = &sys_name;
+       snprintf(sys_name, sizeof(sys_name), "%s-%s", $1, $3);
+       tracepoint.sys = sys_name;
        tracepoint.event = $5;
 
        $$ = tracepoint;