All of lore.kernel.org
 help / color / mirror / Atom feed
From: sdf@google.com
To: xiaolinkui <xiaolinkui@gmail.com>
Cc: ast@kernel.org, daniel@iogearbox.net, davem@davemloft.net,
	kuba@kernel.org, hawk@kernel.org, john.fastabend@gmail.com,
	andrii@kernel.org, martin.lau@linux.dev, song@kernel.org,
	yhs@fb.com, kpsingh@kernel.org, haoluo@google.com,
	jolsa@kernel.org, mykolal@fb.com, shuah@kernel.org,
	nathan@kernel.org, ndesaulniers@google.com, trix@redhat.com,
	xiaolinkui@kylinos.cn, netdev@vger.kernel.org,
	bpf@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH] selftests/bpf: Return true/false (not 1/0) from bool functions
Date: Wed, 13 Jul 2022 08:55:45 -0700	[thread overview]
Message-ID: <Ys7rAaRKbTEzvjFY@google.com> (raw)
In-Reply-To: <20220713011000.29090-1-xiaolinkui@kylinos.cn>

On 07/13, xiaolinkui wrote:
> From: Linkui Xiao<xiaolinkui@kylinos.cn>
                    ^ space here?

> Return boolean values ("true" or "false") instead of 1 or 0 from bool
> functions.  This fixes the following warnings from coccicheck:

> tools/testing/selftests/bpf/progs/test_xdp_noinline.c:407:9-10: WARNING:
> return of 0/1 in function 'decap_v4' with return type bool
> tools/testing/selftests/bpf/progs/test_xdp_noinline.c:389:9-10: WARNING:
> return of 0/1 in function 'decap_v6' with return type bool
> tools/testing/selftests/bpf/progs/test_xdp_noinline.c:290:9-10: WARNING:
> return of 0/1 in function 'encap_v6' with return type bool
> tools/testing/selftests/bpf/progs/test_xdp_noinline.c:264:9-10: WARNING:
> return of 0/1 in function 'parse_tcp' with return type bool
> tools/testing/selftests/bpf/progs/test_xdp_noinline.c:242:9-10: WARNING:
> return of 0/1 in function 'parse_udp' with return type bool

> Generated by: scripts/coccinelle/misc/boolreturn.cocci

> Signed-off-by: Linkui Xiao<xiaolinkui@kylinos.cn>

This patch likely needs a resend with proper [PATCH bpf] or
[PATCH bpf-next] subject to end up in patchwork and to be picked up.

Take a look at Documentation/bpf/bpf_devel_QA.rst section "Q: How do I
indicate which tree (bpf vs. bpf-next) my patch should be applied to?".

Since that's a cleanup, you most likely want to target bpf-next.

> ---
>   .../selftests/bpf/progs/test_xdp_noinline.c   | 30 +++++++++----------
>   1 file changed, 15 insertions(+), 15 deletions(-)

> diff --git a/tools/testing/selftests/bpf/progs/test_xdp_noinline.c  
> b/tools/testing/selftests/bpf/progs/test_xdp_noinline.c
> index 125d872d7981..ba48fcb98ab2 100644
> --- a/tools/testing/selftests/bpf/progs/test_xdp_noinline.c
> +++ b/tools/testing/selftests/bpf/progs/test_xdp_noinline.c
> @@ -239,7 +239,7 @@ bool parse_udp(void *data, void *data_end,
>   	udp = data + off;

>   	if (udp + 1 > data_end)
> -		return 0;
> +		return false;
>   	if (!is_icmp) {
>   		pckt->flow.port16[0] = udp->source;
>   		pckt->flow.port16[1] = udp->dest;
> @@ -247,7 +247,7 @@ bool parse_udp(void *data, void *data_end,
>   		pckt->flow.port16[0] = udp->dest;
>   		pckt->flow.port16[1] = udp->source;
>   	}
> -	return 1;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> @@ -261,7 +261,7 @@ bool parse_tcp(void *data, void *data_end,

>   	tcp = data + off;
>   	if (tcp + 1 > data_end)
> -		return 0;
> +		return false;
>   	if (tcp->syn)
>   		pckt->flags |= (1 << 1);
>   	if (!is_icmp) {
> @@ -271,7 +271,7 @@ bool parse_tcp(void *data, void *data_end,
>   		pckt->flow.port16[0] = tcp->dest;
>   		pckt->flow.port16[1] = tcp->source;
>   	}
> -	return 1;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> @@ -287,7 +287,7 @@ bool encap_v6(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   	void *data;

>   	if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct ipv6hdr)))
> -		return 0;
> +		return false;
>   	data = (void *)(long)xdp->data;
>   	data_end = (void *)(long)xdp->data_end;
>   	new_eth = data;
> @@ -295,7 +295,7 @@ bool encap_v6(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   	old_eth = data + sizeof(struct ipv6hdr);
>   	if (new_eth + 1 > data_end ||
>   	    old_eth + 1 > data_end || ip6h + 1 > data_end)
> -		return 0;
> +		return false;
>   	memcpy(new_eth->eth_dest, cval->mac, 6);
>   	memcpy(new_eth->eth_source, old_eth->eth_dest, 6);
>   	new_eth->eth_proto = 56710;
> @@ -314,7 +314,7 @@ bool encap_v6(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   	ip6h->saddr.in6_u.u6_addr32[2] = 3;
>   	ip6h->saddr.in6_u.u6_addr32[3] = ip_suffix;
>   	memcpy(ip6h->daddr.in6_u.u6_addr32, dst->dstv6, 16);
> -	return 1;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> @@ -335,7 +335,7 @@ bool encap_v4(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   	ip_suffix <<= 15;
>   	ip_suffix ^= pckt->flow.src;
>   	if (bpf_xdp_adjust_head(xdp, 0 - (int)sizeof(struct iphdr)))
> -		return 0;
> +		return false;
>   	data = (void *)(long)xdp->data;
>   	data_end = (void *)(long)xdp->data_end;
>   	new_eth = data;
> @@ -343,7 +343,7 @@ bool encap_v4(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   	old_eth = data + sizeof(struct iphdr);
>   	if (new_eth + 1 > data_end ||
>   	    old_eth + 1 > data_end || iph + 1 > data_end)
> -		return 0;
> +		return false;
>   	memcpy(new_eth->eth_dest, cval->mac, 6);
>   	memcpy(new_eth->eth_source, old_eth->eth_dest, 6);
>   	new_eth->eth_proto = 8;
> @@ -367,8 +367,8 @@ bool encap_v4(struct xdp_md *xdp, struct ctl_value  
> *cval,
>   		csum += *next_iph_u16++;
>   	iph->check = ~((csum & 0xffff) + (csum >> 16));
>   	if (bpf_xdp_adjust_head(xdp, (int)sizeof(struct iphdr)))
> -		return 0;
> -	return 1;
> +		return false;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> @@ -386,10 +386,10 @@ bool decap_v6(struct xdp_md *xdp, void **data, void  
> **data_end, bool inner_v4)
>   	else
>   		new_eth->eth_proto = 56710;
>   	if (bpf_xdp_adjust_head(xdp, (int)sizeof(struct ipv6hdr)))
> -		return 0;
> +		return false;
>   	*data = (void *)(long)xdp->data;
>   	*data_end = (void *)(long)xdp->data_end;
> -	return 1;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> @@ -404,10 +404,10 @@ bool decap_v4(struct xdp_md *xdp, void **data, void  
> **data_end)
>   	memcpy(new_eth->eth_dest, old_eth->eth_dest, 6);
>   	new_eth->eth_proto = 8;
>   	if (bpf_xdp_adjust_head(xdp, (int)sizeof(struct iphdr)))
> -		return 0;
> +		return false;
>   	*data = (void *)(long)xdp->data;
>   	*data_end = (void *)(long)xdp->data_end;
> -	return 1;
> +	return true;
>   }

>   static __attribute__ ((noinline))
> --
> 2.17.1


  reply	other threads:[~2022-07-13 15:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-13  1:10 [PATCH] selftests/bpf: Return true/false (not 1/0) from bool functions xiaolinkui
2022-07-13 15:55 ` sdf [this message]
2022-07-14  1:56   ` Linkui Xiao
  -- strict thread matches above, loose matches on Subject: below --
2022-04-01  2:15 Haowen Bai
2022-04-01  2:49 ` Yonghong Song
2022-04-01 15:58 ` Shuah Khan
2022-04-03 23:50 ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Ys7rAaRKbTEzvjFY@google.com \
    --to=sdf@google.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=haoluo@google.com \
    --cc=hawk@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=martin.lau@linux.dev \
    --cc=mykolal@fb.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=shuah@kernel.org \
    --cc=song@kernel.org \
    --cc=trix@redhat.com \
    --cc=xiaolinkui@gmail.com \
    --cc=xiaolinkui@kylinos.cn \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.