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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox