From: Anoob Joseph Date: Tue, 13 Jul 2021 10:27:06 +0000 (+0530) Subject: crypto/octeontx2: fix IPsec session member overlap X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=40beec4bf4e37327437dbcf0e9991a48ed369848;p=dpdk.git crypto/octeontx2: fix IPsec session member overlap The member 'dir' should not overlap with 'ip'. Usage of union for all members would mean dir would get corrupt. Fixes: e91b4f45ff54 ("net/octeontx2: support anti-replay for security session") Cc: stable@dpdk.org Signed-off-by: Anoob Joseph Acked-by: Akhil Goyal --- diff --git a/drivers/crypto/octeontx2/otx2_security.h b/drivers/crypto/octeontx2/otx2_security.h index 9f1ba71b46..29c8fc351b 100644 --- a/drivers/crypto/octeontx2/otx2_security.h +++ b/drivers/crypto/octeontx2/otx2_security.h @@ -20,14 +20,16 @@ #define OTX2_SEC_AES_GCM_ROUNDUP_BYTE_LEN 4 #define OTX2_SEC_AES_CBC_ROUNDUP_BYTE_LEN 16 -union otx2_sec_session_ipsec { - struct otx2_sec_session_ipsec_ip ip; - struct otx2_sec_session_ipsec_lp lp; +struct otx2_sec_session_ipsec { + union { + struct otx2_sec_session_ipsec_ip ip; + struct otx2_sec_session_ipsec_lp lp; + }; enum rte_security_ipsec_sa_direction dir; }; struct otx2_sec_session { - union otx2_sec_session_ipsec ipsec; + struct otx2_sec_session_ipsec ipsec; void *userdata; /**< Userdata registered by the application */ } __rte_cache_aligned;