Message ID | ZrVB43Hen0H5WQFP@cute (mailing list archive) |
---|---|
State | Accepted |
Commit | 46dd90fe51f3556deaf5af47aafcee10536a3978 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [next] nfp: Use static_assert() to check struct sizes | expand |
On Thu, Aug 08, 2024 at 04:08:35PM -0600, Gustavo A. R. Silva wrote: > Commit d88cabfd9abc ("nfp: Avoid -Wflex-array-member-not-at-end > warnings") introduced tagged `struct nfp_dump_tl_hdr`. We want > to ensure that when new members need to be added to the flexible > structure, they are always included within this tagged struct. > > So, we use `static_assert()` to ensure that the memory layout for > both the flexible structure and the tagged struct is the same after > any changes. > > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Simon Horman <horms@kernel.org>
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Thu, 8 Aug 2024 16:08:35 -0600 you wrote: > Commit d88cabfd9abc ("nfp: Avoid -Wflex-array-member-not-at-end > warnings") introduced tagged `struct nfp_dump_tl_hdr`. We want > to ensure that when new members need to be added to the flexible > structure, they are always included within this tagged struct. > > So, we use `static_assert()` to ensure that the memory layout for > both the flexible structure and the tagged struct is the same after > any changes. > > [...] Here is the summary with links: - [next] nfp: Use static_assert() to check struct sizes https://git.kernel.org/netdev/net-next/c/46dd90fe51f3 You are awesome, thank you!
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c b/drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c index 2dd37557185e..7276e44a21d0 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c @@ -41,6 +41,8 @@ struct nfp_dump_tl { ); char data[]; }; +static_assert(offsetof(struct nfp_dump_tl, data) == sizeof(struct nfp_dump_tl_hdr), + "struct member likely outside of struct_group_tagged()"); /* NFP CPP parameters */ struct nfp_dumpspec_cpp_isl_id {
Commit d88cabfd9abc ("nfp: Avoid -Wflex-array-member-not-at-end warnings") introduced tagged `struct nfp_dump_tl_hdr`. We want to ensure that when new members need to be added to the flexible structure, they are always included within this tagged struct. So, we use `static_assert()` to ensure that the memory layout for both the flexible structure and the tagged struct is the same after any changes. Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c | 2 ++ 1 file changed, 2 insertions(+)