2022-04-27 11:26:52

by kernel test robot

[permalink] [raw]
Subject: [PATCH] libbpf: fix returnvar.cocci warnings

From: kernel test robot <[email protected]>

tools/lib/bpf/relo_core.c:1064:8-11: Unneeded variable: "len". Return "0" on line 1086


Remove unneeded variable used to store return value.

Generated by: scripts/coccinelle/misc/returnvar.cocci

Fixes: b58af63aab11 ("libbpf: Refactor CO-RE relo human description formatting routine")
CC: Andrii Nakryiko <[email protected]>
Reported-by: kernel test robot <[email protected]>
Signed-off-by: kernel test robot <[email protected]>
---

tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: f02ac5c95dfd45d2f50ecc68d79177de326c668c
commit: b58af63aab11e4ae00fe96de9505759cfdde8ee9 [6746/7265] libbpf: Refactor CO-RE relo human description formatting routine
:::::: branch date: 2 hours ago
:::::: commit date: 9 hours ago

tools/lib/bpf/relo_core.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

--- a/tools/lib/bpf/relo_core.c
+++ b/tools/lib/bpf/relo_core.c
@@ -1061,7 +1061,7 @@ static int bpf_core_format_spec(char *bu
const struct btf_enum *e;
const char *s;
__u32 type_id;
- int i, len = 0;
+ int i;

#define append_buf(fmt, args...) \
({ \
@@ -1083,7 +1083,7 @@ static int bpf_core_format_spec(char *bu
type_id, btf_kind_str(t), str_is_empty(s) ? "<anon>" : s);

if (core_relo_is_type_based(spec->relo_kind))
- return len;
+ return 0;

if (core_relo_is_enumval_based(spec->relo_kind)) {
t = skip_mods_and_typedefs(spec->btf, type_id, NULL);
@@ -1091,7 +1091,7 @@ static int bpf_core_format_spec(char *bu
s = btf__name_by_offset(spec->btf, e->name_off);

append_buf("::%s = %u", s, e->val);
- return len;
+ return 0;
}

if (core_relo_is_field_based(spec->relo_kind)) {
@@ -1110,10 +1110,10 @@ static int bpf_core_format_spec(char *bu
append_buf(" @ offset %u.%u)", spec->bit_offset / 8, spec->bit_offset % 8);
else
append_buf(" @ offset %u)", spec->bit_offset / 8);
- return len;
+ return 0;
}

- return len;
+ return 0;
#undef append_buf
}


2022-04-27 16:41:13

by Alexei Starovoitov

[permalink] [raw]
Subject: Re: [PATCH] libbpf: fix returnvar.cocci warnings

On Wed, Apr 27, 2022 at 1:04 AM kernel test robot <[email protected]> wrote:
>
> From: kernel test robot <[email protected]>
>
> tools/lib/bpf/relo_core.c:1064:8-11: Unneeded variable: "len". Return "0" on line 1086
>
>
> Remove unneeded variable used to store return value.
>
> Generated by: scripts/coccinelle/misc/returnvar.cocci
>
> Fixes: b58af63aab11 ("libbpf: Refactor CO-RE relo human description formatting routine")
> CC: Andrii Nakryiko <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: kernel test robot <[email protected]>
> ---
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: f02ac5c95dfd45d2f50ecc68d79177de326c668c
> commit: b58af63aab11e4ae00fe96de9505759cfdde8ee9 [6746/7265] libbpf: Refactor CO-RE relo human description formatting routine
> :::::: branch date: 2 hours ago
> :::::: commit date: 9 hours ago
>
> tools/lib/bpf/relo_core.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> --- a/tools/lib/bpf/relo_core.c
> +++ b/tools/lib/bpf/relo_core.c
> @@ -1061,7 +1061,7 @@ static int bpf_core_format_spec(char *bu
> const struct btf_enum *e;
> const char *s;
> __u32 type_id;
> - int i, len = 0;
> + int i;
>
> #define append_buf(fmt, args...) \
> ({ \
> @@ -1083,7 +1083,7 @@ static int bpf_core_format_spec(char *bu
> type_id, btf_kind_str(t), str_is_empty(s) ? "<anon>" : s);
>
> if (core_relo_is_type_based(spec->relo_kind))
> - return len;
> + return 0;

cocci is wrong.
It missed append_buf() macro.

Please fix cocci so we don't have to manually deal with
broken patches like this one.

2022-05-03 00:54:35

by Andrii Nakryiko

[permalink] [raw]
Subject: Re: [PATCH] libbpf: fix returnvar.cocci warnings

On Wed, Apr 27, 2022 at 9:07 AM Alexei Starovoitov
<[email protected]> wrote:
>
> On Wed, Apr 27, 2022 at 1:04 AM kernel test robot <[email protected]> wrote:
> >
> > From: kernel test robot <[email protected]>
> >
> > tools/lib/bpf/relo_core.c:1064:8-11: Unneeded variable: "len". Return "0" on line 1086
> >
> >
> > Remove unneeded variable used to store return value.
> >
> > Generated by: scripts/coccinelle/misc/returnvar.cocci
> >
> > Fixes: b58af63aab11 ("libbpf: Refactor CO-RE relo human description formatting routine")
> > CC: Andrii Nakryiko <[email protected]>
> > Reported-by: kernel test robot <[email protected]>
> > Signed-off-by: kernel test robot <[email protected]>
> > ---
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: f02ac5c95dfd45d2f50ecc68d79177de326c668c
> > commit: b58af63aab11e4ae00fe96de9505759cfdde8ee9 [6746/7265] libbpf: Refactor CO-RE relo human description formatting routine
> > :::::: branch date: 2 hours ago
> > :::::: commit date: 9 hours ago
> >
> > tools/lib/bpf/relo_core.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > --- a/tools/lib/bpf/relo_core.c
> > +++ b/tools/lib/bpf/relo_core.c
> > @@ -1061,7 +1061,7 @@ static int bpf_core_format_spec(char *bu
> > const struct btf_enum *e;
> > const char *s;
> > __u32 type_id;
> > - int i, len = 0;
> > + int i;
> >
> > #define append_buf(fmt, args...) \
> > ({ \
> > @@ -1083,7 +1083,7 @@ static int bpf_core_format_spec(char *bu
> > type_id, btf_kind_str(t), str_is_empty(s) ? "<anon>" : s);
> >
> > if (core_relo_is_type_based(spec->relo_kind))
> > - return len;
> > + return 0;
>
> cocci is wrong.
> It missed append_buf() macro.

Should be irrelevant once [0] lands. It makes use of that return value directly.

[0] https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/

>
> Please fix cocci so we don't have to manually deal with
> broken patches like this one.