Message ID | 20200313230715.3287973-1-andriin@fb.com |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] selftest/bpf: fix compilation warning in sockmap_parse_prog.c | expand |
On Fri, Mar 13, 2020 at 04:07:15PM -0700, Andrii Nakryiko wrote: > Cast void * to long before casting to 32-bit __u32 to avoid compilation > warning. > > Signed-off-by: Andrii Nakryiko <andriin@fb.com> > --- > tools/testing/selftests/bpf/progs/sockmap_parse_prog.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > index a5c6d5903b22..a9c2bdbd841e 100644 > --- a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > +++ b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > @@ -12,7 +12,7 @@ int bpf_prog1(struct __sk_buff *skb) > __u32 lport = skb->local_port; > __u32 rport = skb->remote_port; > __u8 *d = data; > - __u32 len = (__u32) data_end - (__u32) data; I think this line can be removed. "len" is not used. > + __u32 len = (__u32)(long)data_end - (__u32)(long)data; > int err; > > if (data + 10 > data_end) { > -- > 2.17.1 >
On Fri, Mar 13, 2020 at 4:53 PM Martin KaFai Lau <kafai@fb.com> wrote: > > On Fri, Mar 13, 2020 at 04:07:15PM -0700, Andrii Nakryiko wrote: > > Cast void * to long before casting to 32-bit __u32 to avoid compilation > > warning. > > > > Signed-off-by: Andrii Nakryiko <andriin@fb.com> > > --- > > tools/testing/selftests/bpf/progs/sockmap_parse_prog.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > > index a5c6d5903b22..a9c2bdbd841e 100644 > > --- a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > > +++ b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c > > @@ -12,7 +12,7 @@ int bpf_prog1(struct __sk_buff *skb) > > __u32 lport = skb->local_port; > > __u32 rport = skb->remote_port; > > __u8 *d = data; > > - __u32 len = (__u32) data_end - (__u32) data; > I think this line can be removed. "len" is not used. hm... never checked that, I assumed compiler will emit warning about unused variable... v2 without this line is coming... > > > + __u32 len = (__u32)(long)data_end - (__u32)(long)data; > > > int err; > > > > if (data + 10 > data_end) { > > -- > > 2.17.1 > >
diff --git a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c index a5c6d5903b22..a9c2bdbd841e 100644 --- a/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c +++ b/tools/testing/selftests/bpf/progs/sockmap_parse_prog.c @@ -12,7 +12,7 @@ int bpf_prog1(struct __sk_buff *skb) __u32 lport = skb->local_port; __u32 rport = skb->remote_port; __u8 *d = data; - __u32 len = (__u32) data_end - (__u32) data; + __u32 len = (__u32)(long)data_end - (__u32)(long)data; int err; if (data + 10 > data_end) {
Cast void * to long before casting to 32-bit __u32 to avoid compilation warning. Signed-off-by: Andrii Nakryiko <andriin@fb.com> --- tools/testing/selftests/bpf/progs/sockmap_parse_prog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)