smb: smb2pdu.h: Use static_assert() to check struct sizes

Commit 9f9bef9bc5 ("smb: smb2pdu.h: Avoid -Wflex-array-member-not-at-end
warnings") introduced tagged `struct create_context_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.

Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Gustavo A. R. Silva 2024-08-08 16:04:04 -06:00 committed by Steve French
parent 836bb3268d
commit 5b4f3af39b

View File

@ -1216,6 +1216,8 @@ struct create_context {
);
__u8 Buffer[];
} __packed;
static_assert(offsetof(struct create_context, Buffer) == sizeof(struct create_context_hdr),
"struct member likely outside of __struct_group()");
struct smb2_create_req {
struct smb2_hdr hdr;