From 40beec4bf4e37327437dbcf0e9991a48ed369848 Mon Sep 17 00:00:00 2001 From: Anoob Joseph Date: Tue, 13 Jul 2021 15:57:06 +0530 Subject: [PATCH] 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 --- drivers/crypto/octeontx2/otx2_security.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; -- 2.20.1