# \[PATCH\] perf stat: Fix error return code in bperf\_\_load()

- From: Yu Kuai \<hidden\>
- Date: 2021-05-17 08:05:38 
- List: netdev
- Page: https://ratatoskr.run/netdev/2021/05/1379207
- Thread: https://ratatoskr.run/linux-perf-users/2021/05/1379207/t.md

```text
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Reported-by: Hulk Robot <redacted>
Signed-off-by: Yu Kuai <redacted>
---
 tools/perf/util/bpf_counter.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c
index ddb52f748c8e..843b20aa6688 100644
--- a/tools/perf/util/bpf_counter.c
+++ b/tools/perf/util/bpf_counter.c
@@ -522,6 +522,7 @@ 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))
+		err = -1;
 		goto out;
 
 	/*
@@ -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;
 	}
-- 
2.25.4

```
