Re: [PATCH v6] bpf: Replace bpf_lpm_trie_key 0-length array with flexible array

From: patchwork-bot+netdevbpf
Date: Thu Feb 29 2024 - 17:00:46 EST


Hello:

This patch was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@xxxxxxxxxxxxx>:

On Thu, 22 Feb 2024 07:56:15 -0800 you wrote:
> Replace deprecated 0-length array in struct bpf_lpm_trie_key with
> flexible array. Found with GCC 13:
>
> ../kernel/bpf/lpm_trie.c:207:51: warning: array subscript i is outside array bounds of 'const __u8[0]' {aka 'const unsigned char[]'} [-Warray-bounds=]
> 207 | *(__be16 *)&key->data[i]);
> | ^~~~~~~~~~~~~
> ../include/uapi/linux/swab.h:102:54: note: in definition of macro '__swab16'
> 102 | #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
> | ^
> ../include/linux/byteorder/generic.h:97:21: note: in expansion of macro '__be16_to_cpu'
> 97 | #define be16_to_cpu __be16_to_cpu
> | ^~~~~~~~~~~~~
> ../kernel/bpf/lpm_trie.c:206:28: note: in expansion of macro 'be16_to_cpu'
> 206 | u16 diff = be16_to_cpu(*(__be16 *)&node->data[i]
> ^
> | ^~~~~~~~~~~
> In file included from ../include/linux/bpf.h:7:
> ../include/uapi/linux/bpf.h:82:17: note: while referencing 'data'
> 82 | __u8 data[0]; /* Arbitrary size */
> | ^~~~
>
> [...]

Here is the summary with links:
- [v6] bpf: Replace bpf_lpm_trie_key 0-length array with flexible array
https://git.kernel.org/bpf/bpf-next/c/896880ff3086

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html