Re: [PATCH v1] selftests/bpf: fix application of sizeof to pointer

From: Cong Wang
Date: Mon Nov 18 2024 - 22:37:34 EST


On Sun, Nov 17, 2024 at 11:18:38AM +0800, guanjing wrote:
> sizeof when applied to a pointer typed expression gives the size of
> the pointer.
>
> tools/testing/selftests/bpf/progs/test_tunnel_kern.c:678:41-47: ERROR: application of sizeof to pointer
>
> The proper fix in this particular case is to code sizeof(*gopt)
> instead of sizeof(gopt).
>
> This issue was detected with the help of Coccinelle.
>
> Fixes: 5ddafcc377f9 ("selftests/bpf: Fix a few tests for GCC related warnings.")
> Signed-off-by: guanjing <guanjing@xxxxxxxxxxxxxxxxxxxx>
> ---
> tools/testing/selftests/bpf/progs/test_tunnel_kern.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/bpf/progs/test_tunnel_kern.c b/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
> index 32127f1cd687..3a437cdc5c15 100644
> --- a/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
> +++ b/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
> @@ -675,7 +675,7 @@ int ip6geneve_set_tunnel(struct __sk_buff *skb)
> gopt->length = 2; /* 4-byte multiple */
> *(int *) &gopt->opt_data = bpf_htonl(0xfeedbeef);
>
> - ret = bpf_skb_set_tunnel_opt(skb, gopt, sizeof(gopt));
> + ret = bpf_skb_set_tunnel_opt(skb, gopt, sizeof(*gopt));

Good catch!

I think sizeof(local_gopt) is better, to align with geneve_set_tunnel(),
what do you think?

Thanks.