perf bpf-loader: Use IS_ERR_OR_NULL() to clean code and fix check

Use IS_ERR_OR_NULL() to make the code cleaner.
Also if the priv is NULL, it's improper to call PTR_ERR(priv).

Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Fastabend <john.fastabend@gmail.com>
Cc: KP Singh <kpsingh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: bpf@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: unlisted-recipients
Link: http://lore.kernel.org/lkml/20211212135613.20000-1-linmq006@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Miaoqian Lin 2021-12-12 13:56:09 +00:00 committed by Arnaldo Carvalho de Melo
parent 7cc9680c4b
commit 8acf3793ea

View File

@ -421,7 +421,7 @@ preproc_gen_prologue(struct bpf_program *prog, int n,
size_t prologue_cnt = 0; size_t prologue_cnt = 0;
int i, err; int i, err;
if (IS_ERR(priv) || !priv || priv->is_tp) if (IS_ERR_OR_NULL(priv) || priv->is_tp)
goto errout; goto errout;
pev = &priv->pev; pev = &priv->pev;
@ -570,7 +570,7 @@ static int hook_load_preprocessor(struct bpf_program *prog)
bool need_prologue = false; bool need_prologue = false;
int err, i; int err, i;
if (IS_ERR(priv) || !priv) { if (IS_ERR_OR_NULL(priv)) {
pr_debug("Internal error when hook preprocessor\n"); pr_debug("Internal error when hook preprocessor\n");
return -BPF_LOADER_ERRNO__INTERNAL; return -BPF_LOADER_ERRNO__INTERNAL;
} }
@ -642,8 +642,11 @@ int bpf__probe(struct bpf_object *obj)
goto out; goto out;
priv = bpf_program__priv(prog); priv = bpf_program__priv(prog);
if (IS_ERR(priv) || !priv) { if (IS_ERR_OR_NULL(priv)) {
err = PTR_ERR(priv); if (!priv)
err = -BPF_LOADER_ERRNO__INTERNAL;
else
err = PTR_ERR(priv);
goto out; goto out;
} }
@ -693,7 +696,7 @@ int bpf__unprobe(struct bpf_object *obj)
struct bpf_prog_priv *priv = bpf_program__priv(prog); struct bpf_prog_priv *priv = bpf_program__priv(prog);
int i; int i;
if (IS_ERR(priv) || !priv || priv->is_tp) if (IS_ERR_OR_NULL(priv) || priv->is_tp)
continue; continue;
for (i = 0; i < priv->pev.ntevs; i++) { for (i = 0; i < priv->pev.ntevs; i++) {
@ -751,7 +754,7 @@ int bpf__foreach_event(struct bpf_object *obj,
struct perf_probe_event *pev; struct perf_probe_event *pev;
int i, fd; int i, fd;
if (IS_ERR(priv) || !priv) { if (IS_ERR_OR_NULL(priv)) {
pr_debug("bpf: failed to get private field\n"); pr_debug("bpf: failed to get private field\n");
return -BPF_LOADER_ERRNO__INTERNAL; return -BPF_LOADER_ERRNO__INTERNAL;
} }