* [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
@ 2022-11-18 4:21 Kees Cook
2022-11-18 4:29 ` Gustavo A. R. Silva
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Kees Cook @ 2022-11-18 4:21 UTC (permalink / raw)
To: Jakub Kicinski
Cc: Kees Cook, David S. Miller, Hideaki YOSHIFUJI, David Ahern,
Eric Dumazet, Paolo Abeni, Gustavo A. R. Silva, netdev,
linux-kernel, linux-hardening
Zero-length arrays are deprecated[1] and are being replaced with
flexible array members in support of the ongoing efforts to tighten the
FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
Replace zero-length array with flexible-array member in struct key_vector.
This results in no differences in binary output.
[1] https://github.com/KSPP/linux/issues/78
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: David Ahern <dsahern@kernel.org>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
net/ipv4/fib_trie.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
index 452ff177e4da..c88bf856c443 100644
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -126,7 +126,7 @@ struct key_vector {
/* This list pointer if valid if (pos | bits) == 0 (LEAF) */
struct hlist_head leaf;
/* This array is valid if (pos | bits) > 0 (TNODE) */
- struct key_vector __rcu *tnode[0];
+ DECLARE_FLEX_ARRAY(struct key_vector __rcu *, tnode);
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
2022-11-18 4:21 [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper Kees Cook
@ 2022-11-18 4:29 ` Gustavo A. R. Silva
2022-11-18 15:41 ` David Ahern
2022-11-21 13:10 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: Gustavo A. R. Silva @ 2022-11-18 4:29 UTC (permalink / raw)
To: Kees Cook
Cc: Jakub Kicinski, David S. Miller, Hideaki YOSHIFUJI, David Ahern,
Eric Dumazet, Paolo Abeni, netdev, linux-kernel, linux-hardening
On Thu, Nov 17, 2022 at 08:21:52PM -0800, Kees Cook wrote:
> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
>
> Replace zero-length array with flexible-array member in struct key_vector.
>
> This results in no differences in binary output.
>
> [1] https://github.com/KSPP/linux/issues/78
>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
> Cc: David Ahern <dsahern@kernel.org>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Thanks!
--
Gustavo
> ---
> net/ipv4/fib_trie.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c
> index 452ff177e4da..c88bf856c443 100644
> --- a/net/ipv4/fib_trie.c
> +++ b/net/ipv4/fib_trie.c
> @@ -126,7 +126,7 @@ struct key_vector {
> /* This list pointer if valid if (pos | bits) == 0 (LEAF) */
> struct hlist_head leaf;
> /* This array is valid if (pos | bits) > 0 (TNODE) */
> - struct key_vector __rcu *tnode[0];
> + DECLARE_FLEX_ARRAY(struct key_vector __rcu *, tnode);
> };
> };
>
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
2022-11-18 4:21 [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper Kees Cook
2022-11-18 4:29 ` Gustavo A. R. Silva
@ 2022-11-18 15:41 ` David Ahern
2022-11-21 13:10 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: David Ahern @ 2022-11-18 15:41 UTC (permalink / raw)
To: Kees Cook, Jakub Kicinski
Cc: David S. Miller, Hideaki YOSHIFUJI, Eric Dumazet, Paolo Abeni,
Gustavo A. R. Silva, netdev, linux-kernel, linux-hardening
On 11/17/22 9:21 PM, Kees Cook wrote:
> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
>
> Replace zero-length array with flexible-array member in struct key_vector.
>
> This results in no differences in binary output.
>
> [1] https://github.com/KSPP/linux/issues/78
>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
> Cc: David Ahern <dsahern@kernel.org>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
> net/ipv4/fib_trie.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: David Ahern <dsahern@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
2022-11-18 4:21 [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper Kees Cook
2022-11-18 4:29 ` Gustavo A. R. Silva
2022-11-18 15:41 ` David Ahern
@ 2022-11-21 13:10 ` patchwork-bot+netdevbpf
2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-11-21 13:10 UTC (permalink / raw)
To: Kees Cook
Cc: kuba, davem, yoshfuji, dsahern, edumazet, pabeni, gustavoars,
netdev, linux-kernel, linux-hardening
Hello:
This patch was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:
On Thu, 17 Nov 2022 20:21:52 -0800 you wrote:
> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
>
> Replace zero-length array with flexible-array member in struct key_vector.
>
> [...]
Here is the summary with links:
- ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
https://git.kernel.org/netdev/net/c/764f8485890d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-11-21 13:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-18 4:21 [PATCH] ipv4/fib: Replace zero-length array with DECLARE_FLEX_ARRAY() helper Kees Cook
2022-11-18 4:29 ` Gustavo A. R. Silva
2022-11-18 15:41 ` David Ahern
2022-11-21 13:10 ` patchwork-bot+netdevbpf
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.