mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
perf mem-events: Avoid uninitialized read
pmu should be initialized to NULL before perf_pmus__scan loop. Fix and
shrink the scope of pmu at the same time. Issue detected by clang-tidy.
Fixes: 5752c20f37
("perf mem: Scan all PMUs instead of just core ones")
Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Yang Jihong <yangjihong1@huawei.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: llvm@lists.linux.dev
Cc: Ming Wang <wangming01@loongson.cn>
Cc: Tom Rix <trix@redhat.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20231009183920.200859-10-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
b3aa09ee78
commit
85f73c377b
@ -185,7 +185,6 @@ int perf_mem_events__record_args(const char **rec_argv, int *argv_nr,
|
|||||||
{
|
{
|
||||||
int i = *argv_nr, k = 0;
|
int i = *argv_nr, k = 0;
|
||||||
struct perf_mem_event *e;
|
struct perf_mem_event *e;
|
||||||
struct perf_pmu *pmu;
|
|
||||||
|
|
||||||
for (int j = 0; j < PERF_MEM_EVENTS__MAX; j++) {
|
for (int j = 0; j < PERF_MEM_EVENTS__MAX; j++) {
|
||||||
e = perf_mem_events__ptr(j);
|
e = perf_mem_events__ptr(j);
|
||||||
@ -202,6 +201,8 @@ int perf_mem_events__record_args(const char **rec_argv, int *argv_nr,
|
|||||||
rec_argv[i++] = "-e";
|
rec_argv[i++] = "-e";
|
||||||
rec_argv[i++] = perf_mem_events__name(j, NULL);
|
rec_argv[i++] = perf_mem_events__name(j, NULL);
|
||||||
} else {
|
} else {
|
||||||
|
struct perf_pmu *pmu = NULL;
|
||||||
|
|
||||||
if (!e->supported) {
|
if (!e->supported) {
|
||||||
perf_mem_events__print_unsupport_hybrid(e, j);
|
perf_mem_events__print_unsupport_hybrid(e, j);
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user