mirror of https://gitee.com/openkylin/linux.git
perf stat: Fix error return code in bperf__load()
Fix to return a negative error code from the error handling case instead
of 0, as done elsewhere in this function.
Committer notes:
Added the missing {} for the now multiline 'if' block, fixing this error:
CC /tmp/build/perf/util/bpf_counter.o
util/bpf_counter.c: In function ‘bperf__load’:
util/bpf_counter.c:523:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
523 | if (evsel->bperf_leader_link_fd < 0 &&
| ^~
util/bpf_counter.c:526:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
526 | goto out;
| ^~~~
cc1: all warnings being treated as errors
Fixes: 7fac83aaf2
("perf stat: Introduce 'bperf' to share hardware PMCs with BPF")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yu Kuai <yukuai3@huawei.com>
Cc: Zhang Yi <yi.zhang@huawei.com>
Link: http://lore.kernel.org/lkml/20210517081254.1561564-1-yukuai3@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
4f2abe9192
commit
d3fddc355a
|
@ -521,9 +521,10 @@ static int bperf__load(struct evsel *evsel, struct target *target)
|
|||
|
||||
evsel->bperf_leader_link_fd = bpf_link_get_fd_by_id(entry.link_id);
|
||||
if (evsel->bperf_leader_link_fd < 0 &&
|
||||
bperf_reload_leader_program(evsel, attr_map_fd, &entry))
|
||||
bperf_reload_leader_program(evsel, attr_map_fd, &entry)) {
|
||||
err = -1;
|
||||
goto out;
|
||||
|
||||
}
|
||||
/*
|
||||
* The bpf_link holds reference to the leader program, and the
|
||||
* leader program holds reference to the maps. Therefore, if
|
||||
|
@ -550,6 +551,7 @@ static int bperf__load(struct evsel *evsel, struct target *target)
|
|||
/* Step 2: load the follower skeleton */
|
||||
evsel->follower_skel = bperf_follower_bpf__open();
|
||||
if (!evsel->follower_skel) {
|
||||
err = -1;
|
||||
pr_err("Failed to open follower skeleton\n");
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue