Commit f2f853e7 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Herbert Xu
Browse files

crypto: nx - Use static_assert() to check struct sizes



Commit 1e6b251c ("crypto: nx - Avoid -Wflex-array-member-not-at-end
warning") introduced tagged `struct nx842_crypto_header_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: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8caa061c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -157,6 +157,7 @@ struct nx842_crypto_header_group {
} __packed;

struct nx842_crypto_header {
	/* New members MUST be added within the struct_group() macro below. */
	struct_group_tagged(nx842_crypto_header_hdr, hdr,
		__be16 magic;		/* NX842_CRYPTO_MAGIC */
		__be16 ignore;		/* decompressed end bytes to ignore */
@@ -164,6 +165,8 @@ struct nx842_crypto_header {
	);
	struct nx842_crypto_header_group group[];
} __packed;
static_assert(offsetof(struct nx842_crypto_header, group) == sizeof(struct nx842_crypto_header_hdr),
	      "struct member likely outside of struct_group_tagged()");

#define NX842_CRYPTO_GROUP_MAX	(0x20)