[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20220505135713.18496-1-yuehaibing@huawei.com>
Date: Thu, 5 May 2022 21:57:13 +0800
From: YueHaibing <yuehaibing@...wei.com>
To: <peterz@...radead.org>, <mingo@...hat.com>, <acme@...nel.org>,
<mark.rutland@....com>, <alexander.shishkin@...ux.intel.com>,
<jolsa@...nel.org>, <namhyung@...nel.org>, <ast@...nel.org>,
<daniel@...earbox.net>, <andrii@...nel.org>, <kafai@...com>,
<songliubraving@...com>, <yhs@...com>, <john.fastabend@...il.com>,
<kpsingh@...nel.org>, <christylee@...com>
CC: <linux-perf-users@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<netdev@...r.kernel.org>, <bpf@...r.kernel.org>,
YueHaibing <yuehaibing@...wei.com>
Subject: [PATCH] perf: Fix pass 0 to PTR_ERR
Passing NULL to PTR_ERR will result in 0 (success), also move
evlist__find_evsel_by_str() behind for minor optimization.
Fixes: 924b1cd61148 ("perf: Stop using bpf_map__def() API")
Signed-off-by: YueHaibing <yuehaibing@...wei.com>
---
tools/perf/util/bpf-loader.c | 15 ++++++++-------
tools/perf/util/bpf_map.c | 2 +-
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
index f8ad581ea247..b301ffc8c6e7 100644
--- a/tools/perf/util/bpf-loader.c
+++ b/tools/perf/util/bpf-loader.c
@@ -1253,21 +1253,22 @@ __bpf_map__config_event(struct bpf_map *map,
struct parse_events_term *term,
struct evlist *evlist)
{
- struct bpf_map_op *op;
const char *map_name = bpf_map__name(map);
- struct evsel *evsel = evlist__find_evsel_by_str(evlist, term->val.str);
+ struct bpf_map_op *op;
+ struct evsel *evsel;
+ if (!map) {
+ pr_debug("Map '%s' is invalid\n", map_name);
+ return -BPF_LOADER_ERRNO__INTERNAL;
+ }
+
+ evsel = evlist__find_evsel_by_str(evlist, term->val.str);
if (!evsel) {
pr_debug("Event (for '%s') '%s' doesn't exist\n",
map_name, term->val.str);
return -BPF_LOADER_ERRNO__OBJCONF_MAP_NOEVT;
}
- if (!map) {
- pr_debug("Map '%s' is invalid\n", map_name);
- return PTR_ERR(map);
- }
-
/*
* No need to check key_size and value_size:
* kernel has already checked them.
diff --git a/tools/perf/util/bpf_map.c b/tools/perf/util/bpf_map.c
index c863ae0c5cb5..c72aee6a91ee 100644
--- a/tools/perf/util/bpf_map.c
+++ b/tools/perf/util/bpf_map.c
@@ -36,7 +36,7 @@ int bpf_map__fprintf(struct bpf_map *map, FILE *fp)
return fd;
if (!map)
- return PTR_ERR(map);
+ return -EINVAL;
err = -ENOMEM;
key = malloc(bpf_map__key_size(map));
--
2.17.1
Powered by blists - more mailing lists