]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
chtls: Avoid -Wflex-array-member-not-at-end warning
authorGustavo A. R. Silva <gustavoars@kernel.org>
Mon, 24 Nov 2025 09:42:08 +0000 (18:42 +0900)
committerJakub Kicinski <kuba@kernel.org>
Wed, 26 Nov 2025 03:25:24 +0000 (19:25 -0800)
-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.

Use the `DEFINE_RAW_FLEX()` helper for on-stack definitions of
a flexible structure where the size of the flexible-array member
is known at compile-time, and refactor the rest of the code,
accordingly.

So, with these changes, fix the following warning:

drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c:163:36: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://patch.msgid.link/aSQocKoJGkN0wzEj@kspp
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c

index 4036db466e188cb5494617f6a1e0564ed2ad5a34..ee19933e2cca56832f8b9b5e798932964b11a84b 100644 (file)
@@ -159,19 +159,13 @@ static u8 tcp_state_to_flowc_state(u8 state)
 int send_tx_flowc_wr(struct sock *sk, int compl,
                     u32 snd_nxt, u32 rcv_nxt)
 {
-       struct flowc_packed {
-               struct fw_flowc_wr fc;
-               struct fw_flowc_mnemval mnemval[FW_FLOWC_MNEM_MAX];
-       } __packed sflowc;
+       DEFINE_RAW_FLEX(struct fw_flowc_wr, flowc, mnemval, FW_FLOWC_MNEM_MAX);
        int nparams, paramidx, flowclen16, flowclen;
-       struct fw_flowc_wr *flowc;
        struct chtls_sock *csk;
        struct tcp_sock *tp;
 
        csk = rcu_dereference_sk_user_data(sk);
        tp = tcp_sk(sk);
-       memset(&sflowc, 0, sizeof(sflowc));
-       flowc = &sflowc.fc;
 
 #define FLOWC_PARAM(__m, __v) \
        do { \