* [PATCH] bpf: verifier: avoid fall-through warnings
@ 2019-06-11 13:28 Gustavo A. R. Silva
2019-06-11 17:22 ` Andrii Nakryiko
0 siblings, 1 reply; 5+ messages in thread
From: Gustavo A. R. Silva @ 2019-06-11 13:28 UTC (permalink / raw)
To: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, Lawrence Brakmo
Cc: netdev, bpf, linux-kernel, Gustavo A. R. Silva, Kees Cook
In preparation to enabling -Wimplicit-fallthrough, this patch silences
the following warning:
kernel/bpf/verifier.c: In function ‘check_return_code’:
kernel/bpf/verifier.c:5509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
^
kernel/bpf/verifier.c:5512:2: note: here
case BPF_PROG_TYPE_CGROUP_SKB:
^~~~
Warning level 3 was used: -Wimplicit-fallthrough=3
Notice that it's much clearer to explicitly add breaks in each case
(that actually contains some code), rather than letting the code to
fall through.
This patch is part of the ongoing efforts to enable
-Wimplicit-fallthrough.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
kernel/bpf/verifier.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 1e9d10b32984..e9fc28991548 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -5509,11 +5509,13 @@ static int check_return_code(struct bpf_verifier_env *env)
if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
env->prog->expected_attach_type == BPF_CGROUP_UDP6_RECVMSG)
range = tnum_range(1, 1);
+ break;
case BPF_PROG_TYPE_CGROUP_SKB:
if (env->prog->expected_attach_type == BPF_CGROUP_INET_EGRESS) {
range = tnum_range(0, 3);
enforce_attach_type_range = tnum_range(2, 3);
}
+ break;
case BPF_PROG_TYPE_CGROUP_SOCK:
case BPF_PROG_TYPE_SOCK_OPS:
case BPF_PROG_TYPE_CGROUP_DEVICE:
--
2.21.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] bpf: verifier: avoid fall-through warnings
2019-06-11 13:28 [PATCH] bpf: verifier: avoid fall-through warnings Gustavo A. R. Silva
@ 2019-06-11 17:22 ` Andrii Nakryiko
2019-06-11 17:27 ` Gustavo A. R. Silva
0 siblings, 1 reply; 5+ messages in thread
From: Andrii Nakryiko @ 2019-06-11 17:22 UTC (permalink / raw)
To: Gustavo A. R. Silva
Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, Lawrence Brakmo, Networking, bpf, open list,
Kees Cook
On Tue, Jun 11, 2019 at 7:05 AM Gustavo A. R. Silva
<gustavo@embeddedor.com> wrote:
>
> In preparation to enabling -Wimplicit-fallthrough, this patch silences
> the following warning:
Your patch doesn't apply cleanly to neither bpf nor bpf-next tree.
Could you please rebase and re-submit? Please also include which tree
(probably bpf-next) you are designating this patch to in subject
prefix.
>
> kernel/bpf/verifier.c: In function ‘check_return_code’:
> kernel/bpf/verifier.c:5509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
> ^
> kernel/bpf/verifier.c:5512:2: note: here
> case BPF_PROG_TYPE_CGROUP_SKB:
> ^~~~
>
> Warning level 3 was used: -Wimplicit-fallthrough=3
>
> Notice that it's much clearer to explicitly add breaks in each case
> (that actually contains some code), rather than letting the code to
> fall through.
>
> This patch is part of the ongoing efforts to enable
> -Wimplicit-fallthrough.
>
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
> kernel/bpf/verifier.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> index 1e9d10b32984..e9fc28991548 100644
> --- a/kernel/bpf/verifier.c
> +++ b/kernel/bpf/verifier.c
> @@ -5509,11 +5509,13 @@ static int check_return_code(struct bpf_verifier_env *env)
> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
> env->prog->expected_attach_type == BPF_CGROUP_UDP6_RECVMSG)
> range = tnum_range(1, 1);
> + break;
> case BPF_PROG_TYPE_CGROUP_SKB:
> if (env->prog->expected_attach_type == BPF_CGROUP_INET_EGRESS) {
> range = tnum_range(0, 3);
> enforce_attach_type_range = tnum_range(2, 3);
> }
> + break;
> case BPF_PROG_TYPE_CGROUP_SOCK:
> case BPF_PROG_TYPE_SOCK_OPS:
> case BPF_PROG_TYPE_CGROUP_DEVICE:
> --
> 2.21.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] bpf: verifier: avoid fall-through warnings
2019-06-11 17:22 ` Andrii Nakryiko
@ 2019-06-11 17:27 ` Gustavo A. R. Silva
2019-06-11 17:41 ` Gustavo A. R. Silva
0 siblings, 1 reply; 5+ messages in thread
From: Gustavo A. R. Silva @ 2019-06-11 17:27 UTC (permalink / raw)
To: Andrii Nakryiko
Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, Lawrence Brakmo, Networking, bpf, open list,
Kees Cook
On 6/11/19 12:22 PM, Andrii Nakryiko wrote:
> On Tue, Jun 11, 2019 at 7:05 AM Gustavo A. R. Silva
> <gustavo@embeddedor.com> wrote:
>>
>> In preparation to enabling -Wimplicit-fallthrough, this patch silences
>> the following warning:
>
> Your patch doesn't apply cleanly to neither bpf nor bpf-next tree.
> Could you please rebase and re-submit? Please also include which tree
> (probably bpf-next) you are designating this patch to in subject
> prefix.
>
This patch applies cleanly to linux-next (tag next-20190611).
--
Gustavo
>>
>> kernel/bpf/verifier.c: In function ‘check_return_code’:
>> kernel/bpf/verifier.c:5509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
>> ^
>> kernel/bpf/verifier.c:5512:2: note: here
>> case BPF_PROG_TYPE_CGROUP_SKB:
>> ^~~~
>>
>> Warning level 3 was used: -Wimplicit-fallthrough=3
>>
>> Notice that it's much clearer to explicitly add breaks in each case
>> (that actually contains some code), rather than letting the code to
>> fall through.
>>
>> This patch is part of the ongoing efforts to enable
>> -Wimplicit-fallthrough.
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>> kernel/bpf/verifier.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
>> index 1e9d10b32984..e9fc28991548 100644
>> --- a/kernel/bpf/verifier.c
>> +++ b/kernel/bpf/verifier.c
>> @@ -5509,11 +5509,13 @@ static int check_return_code(struct bpf_verifier_env *env)
>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
>> env->prog->expected_attach_type == BPF_CGROUP_UDP6_RECVMSG)
>> range = tnum_range(1, 1);
>> + break;
>> case BPF_PROG_TYPE_CGROUP_SKB:
>> if (env->prog->expected_attach_type == BPF_CGROUP_INET_EGRESS) {
>> range = tnum_range(0, 3);
>> enforce_attach_type_range = tnum_range(2, 3);
>> }
>> + break;
>> case BPF_PROG_TYPE_CGROUP_SOCK:
>> case BPF_PROG_TYPE_SOCK_OPS:
>> case BPF_PROG_TYPE_CGROUP_DEVICE:
>> --
>> 2.21.0
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] bpf: verifier: avoid fall-through warnings
2019-06-11 17:27 ` Gustavo A. R. Silva
@ 2019-06-11 17:41 ` Gustavo A. R. Silva
2019-06-11 18:07 ` Andrii Nakryiko
0 siblings, 1 reply; 5+ messages in thread
From: Gustavo A. R. Silva @ 2019-06-11 17:41 UTC (permalink / raw)
To: Andrii Nakryiko
Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, Lawrence Brakmo, Networking, bpf, open list,
Kees Cook
On 6/11/19 12:27 PM, Gustavo A. R. Silva wrote:
>
>
> On 6/11/19 12:22 PM, Andrii Nakryiko wrote:
>> On Tue, Jun 11, 2019 at 7:05 AM Gustavo A. R. Silva
>> <gustavo@embeddedor.com> wrote:
>>>
>>> In preparation to enabling -Wimplicit-fallthrough, this patch silences
>>> the following warning:
>>
>> Your patch doesn't apply cleanly to neither bpf nor bpf-next tree.
>> Could you please rebase and re-submit? Please also include which tree
>> (probably bpf-next) you are designating this patch to in subject
>> prefix.
>>
>
> This patch applies cleanly to linux-next (tag next-20190611).
>
It seems that this commit hasn't been merged into bpf/bpf-next yet:
983695fa676568fc0fe5ddd995c7267aabc24632
--
Gustavo
>>>
>>> kernel/bpf/verifier.c: In function ‘check_return_code’:
>>> kernel/bpf/verifier.c:5509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
>>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
>>> ^
>>> kernel/bpf/verifier.c:5512:2: note: here
>>> case BPF_PROG_TYPE_CGROUP_SKB:
>>> ^~~~
>>>
>>> Warning level 3 was used: -Wimplicit-fallthrough=3
>>>
>>> Notice that it's much clearer to explicitly add breaks in each case
>>> (that actually contains some code), rather than letting the code to
>>> fall through.
>>>
>>> This patch is part of the ongoing efforts to enable
>>> -Wimplicit-fallthrough.
>>>
>>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>>> ---
>>> kernel/bpf/verifier.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
>>> index 1e9d10b32984..e9fc28991548 100644
>>> --- a/kernel/bpf/verifier.c
>>> +++ b/kernel/bpf/verifier.c
>>> @@ -5509,11 +5509,13 @@ static int check_return_code(struct bpf_verifier_env *env)
>>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
>>> env->prog->expected_attach_type == BPF_CGROUP_UDP6_RECVMSG)
>>> range = tnum_range(1, 1);
>>> + break;
>>> case BPF_PROG_TYPE_CGROUP_SKB:
>>> if (env->prog->expected_attach_type == BPF_CGROUP_INET_EGRESS) {
>>> range = tnum_range(0, 3);
>>> enforce_attach_type_range = tnum_range(2, 3);
>>> }
>>> + break;
>>> case BPF_PROG_TYPE_CGROUP_SOCK:
>>> case BPF_PROG_TYPE_SOCK_OPS:
>>> case BPF_PROG_TYPE_CGROUP_DEVICE:
>>> --
>>> 2.21.0
>>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] bpf: verifier: avoid fall-through warnings
2019-06-11 17:41 ` Gustavo A. R. Silva
@ 2019-06-11 18:07 ` Andrii Nakryiko
0 siblings, 0 replies; 5+ messages in thread
From: Andrii Nakryiko @ 2019-06-11 18:07 UTC (permalink / raw)
To: Gustavo A. R. Silva
Cc: Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, Lawrence Brakmo, Networking, bpf, open list,
Kees Cook
On Tue, Jun 11, 2019 at 10:41 AM Gustavo A. R. Silva
<gustavo@embeddedor.com> wrote:
>
>
>
> On 6/11/19 12:27 PM, Gustavo A. R. Silva wrote:
> >
> >
> > On 6/11/19 12:22 PM, Andrii Nakryiko wrote:
> >> On Tue, Jun 11, 2019 at 7:05 AM Gustavo A. R. Silva
> >> <gustavo@embeddedor.com> wrote:
> >>>
> >>> In preparation to enabling -Wimplicit-fallthrough, this patch silences
> >>> the following warning:
> >>
> >> Your patch doesn't apply cleanly to neither bpf nor bpf-next tree.
> >> Could you please rebase and re-submit? Please also include which tree
> >> (probably bpf-next) you are designating this patch to in subject
> >> prefix.
> >>
> >
> > This patch applies cleanly to linux-next (tag next-20190611).
> >
>
> It seems that this commit hasn't been merged into bpf/bpf-next yet:
>
> 983695fa676568fc0fe5ddd995c7267aabc24632
>
> --
> Gustavo
>
> >>>
> >>> kernel/bpf/verifier.c: In function ‘check_return_code’:
> >>> kernel/bpf/verifier.c:5509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
> >>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
> >>> ^
> >>> kernel/bpf/verifier.c:5512:2: note: here
> >>> case BPF_PROG_TYPE_CGROUP_SKB:
> >>> ^~~~
> >>>
> >>> Warning level 3 was used: -Wimplicit-fallthrough=3
> >>>
> >>> Notice that it's much clearer to explicitly add breaks in each case
> >>> (that actually contains some code), rather than letting the code to
> >>> fall through.
> >>>
> >>> This patch is part of the ongoing efforts to enable
> >>> -Wimplicit-fallthrough.
> >>>
> >>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> >>> ---
> >>> kernel/bpf/verifier.c | 2 ++
> >>> 1 file changed, 2 insertions(+)
> >>>
> >>> diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> >>> index 1e9d10b32984..e9fc28991548 100644
> >>> --- a/kernel/bpf/verifier.c
> >>> +++ b/kernel/bpf/verifier.c
> >>> @@ -5509,11 +5509,13 @@ static int check_return_code(struct bpf_verifier_env *env)
> >>> if (env->prog->expected_attach_type == BPF_CGROUP_UDP4_RECVMSG ||
> >>> env->prog->expected_attach_type == BPF_CGROUP_UDP6_RECVMSG)
> >>> range = tnum_range(1, 1);
> >>> + break;
So this part is in bpf tree only...
> >>> case BPF_PROG_TYPE_CGROUP_SKB:
> >>> if (env->prog->expected_attach_type == BPF_CGROUP_INET_EGRESS) {
> >>> range = tnum_range(0, 3);
> >>> enforce_attach_type_range = tnum_range(2, 3);
> >>> }
> >>> + break;
... while this one is in bpf-next only.
Maybe just split this into two separate patches, one targeting bpf
tree and another for bpf-next tree? Unless you are willing to wait
till bpf is merged into bpf-next.
> >>> case BPF_PROG_TYPE_CGROUP_SOCK:
> >>> case BPF_PROG_TYPE_SOCK_OPS:
> >>> case BPF_PROG_TYPE_CGROUP_DEVICE:
> >>> --
> >>> 2.21.0
> >>>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-06-11 18:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-11 13:28 [PATCH] bpf: verifier: avoid fall-through warnings Gustavo A. R. Silva
2019-06-11 17:22 ` Andrii Nakryiko
2019-06-11 17:27 ` Gustavo A. R. Silva
2019-06-11 17:41 ` Gustavo A. R. Silva
2019-06-11 18:07 ` Andrii Nakryiko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.