netfilter: nf_tables: Annotate struct nft_pipapo_match with __counted_by
Subsystems (3)
PATCH 1/1 netfilter: nf_tables: Annotate struct nft_pipapo_match with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by attribute. Flexible array members annotated with __counted_by can have their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family functions).
As found with Coccinelle[1], add __counted_by for struct nft_pipapo_match.
--- net/netfilter/nft_set_pipapo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
net/netfilter/nft_set_pipapo.h +1 -1
@@ -147,7 +147,7 @@ struct nft_pipapo_match {unsigned long *__percpu *scratch;size_t bsize_max;struct rcu_head rcu; -struct nft_pipapo_field f[]; + struct nft_pipapo_field f[] __counted_by(field_count); };/**
Signature · 1 line
2.34.1
Quoted 8 lines · Kees Cook
Prepare for the coming implementation by GCC and Clang of the
__counted_byattribute. Flexible array members annotated with__counted_bycan have their accesses bounds-checked at run-time viaCONFIG_UBSAN_BOUNDS(for array indexing) andCONFIG_FORTIFY_SOURCE(for strcpy/memcpy-family functions).As found with Coccinelle[1], add
__counted_byfor structnft_pipapo_match.
Quoted 12 lines
Cc Pablo Neira Ayuso <[email protected]>Cc Jozsef Kadlecsik <[email protected]>Cc Florian Westphal <[email protected]>Cc "David S. Miller" <[email protected]>Cc Eric Dumazet <[email protected]>Cc Jakub Kicinski <[email protected]>Cc Paolo Abeni <[email protected]>Signed-off-by Kees Cook <[email protected]>
Thanks
--
Gustavo
Quoted 17 lines
--- net/netfilter/nft_set_pipapo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)net/netfilter/nft_set_pipapo.h +1
-1@@ -147,7 +147,7 @@ struct nft_pipapo_match {unsigned long *__percpu *scratch;size_t bsize_max;struct rcu_head rcu; -struct nft_pipapo_field f[]; + struct nft_pipapo_field f[] __counted_by(field_count); };/**