On Thu, 20 Nov 2025 11:39:39 +0900 Gustavo A. R. Silva wrote:
>  struct nfp_crypto_req_add_front {
> -     struct nfp_ccm_hdr hdr;
> -     __be32 ep_id;
> -     u8 resv[3];
> -     u8 opcode;
> -     u8 key_len;
> -     __be16 ipver_vlan __packed;
> -     u8 l4_proto;
> +     /* New members MUST be added within the struct_group() macro below. */
> +     struct_group_tagged(nfp_crypto_req_add_front_hdr, __hdr,
> +             struct nfp_ccm_hdr hdr;
> +             __be32 ep_id;
> +             u8 resv[3];
> +             u8 opcode;
> +             u8 key_len;
> +             __be16 ipver_vlan __packed;
> +             u8 l4_proto;
> +     );
>  #define NFP_NET_TLS_NON_ADDR_KEY_LEN 8
>       u8 l3_addrs[];
>  };
> +static_assert(offsetof(struct nfp_crypto_req_add_front, l3_addrs) ==
> +           sizeof(struct nfp_crypto_req_add_front_hdr),
> +           "struct member likely outside of struct_group_tagged()");
>  
>  struct nfp_crypto_req_add_back {
>       __be16 src_port;
> @@ -55,14 +61,14 @@ struct nfp_crypto_req_add_back {
>  };
>  
>  struct nfp_crypto_req_add_v4 {
> -     struct nfp_crypto_req_add_front front;
> +     struct nfp_crypto_req_add_front_hdr front;
>       __be32 src_ip;
>       __be32 dst_ip;
>       struct nfp_crypto_req_add_back back;
>  };
>  
>  struct nfp_crypto_req_add_v6 {
> -     struct nfp_crypto_req_add_front front;
> +     struct nfp_crypto_req_add_front_hdr front;
>       __be32 src_ip[4];
>       __be32 dst_ip[4];
>       struct nfp_crypto_req_add_back back;
> diff --git a/drivers/net/ethernet/netronome/nfp/crypto/tls.c 
> b/drivers/net/ethernet/netronome/nfp/crypto/tls.c
> index f252ecdcd2cd..a6d6a334c84b 100644
> --- a/drivers/net/ethernet/netronome/nfp/crypto/tls.c
> +++ b/drivers/net/ethernet/netronome/nfp/crypto/tls.c
> @@ -180,7 +180,8 @@ nfp_net_tls_set_ipv4(struct nfp_net *nn, struct 
> nfp_crypto_req_add_v4 *req,
>       req->front.key_len += sizeof(__be32) * 2;
>  
>       if (direction == TLS_OFFLOAD_CTX_DIR_TX) {
> -             nfp_net_tls_assign_conn_id(nn, &req->front);
> +             nfp_net_tls_assign_conn_id(nn,
> +                     container_of(&req->front, struct 
> nfp_crypto_req_add_front, __hdr));

Once again you're making the code unacceptably ugly.
-- 
pw-bot: cr

Reply via email to