lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 14 Jul 2022 09:56:10 +0800
From:   Linkui Xiao <xiaolinkui@...il.com>
To:     sdf@...gle.com
Cc:     ast@...nel.org, daniel@...earbox.net, davem@...emloft.net,
        kuba@...nel.org, hawk@...nel.org, john.fastabend@...il.com,
        andrii@...nel.org, martin.lau@...ux.dev, song@...nel.org,
        yhs@...com, kpsingh@...nel.org, haoluo@...gle.com,
        jolsa@...nel.org, mykolal@...com, shuah@...nel.org,
        nathan@...nel.org, ndesaulniers@...gle.com, trix@...hat.com,
        xiaolinkui@...inos.cn, netdev@...r.kernel.org, bpf@...r.kernel.org,
        linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
        llvm@...ts.linux.dev
Subject: Re: [PATCH] selftests/bpf: Return true/false (not 1/0) from bool
 functions

Thanks for your suggestion, I'll clean it up

On 7/13/22 23:55, sdf@...gle.com wrote:
> On 07/13, xiaolinkui wrote:
>> From: Linkui Xiao<xiaolinkui@...inos.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@...inos.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
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ