diff mbox series

[bpf-next] selftest/bpf: fix compilation warning in sockmap_parse_prog.c

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

Commit Message

Andrii Nakryiko March 13, 2020, 11:07 p.m. UTC
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(-)

Comments

Martin KaFai Lau March 13, 2020, 11:53 p.m. UTC | #1
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
>
Andrii Nakryiko March 13, 2020, 11:58 p.m. UTC | #2
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 mbox series

Patch

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) {