[dpdk-stable] patch 'crypto/octeontx2: fix lookaside IPsec IV pointer' has been queued to stable release 20.11.3

luca.boccassi at gmail.com luca.boccassi at gmail.com
Mon Jul 26 15:52:43 CEST 2021


Hi,

FYI, your patch has been queued to stable release 20.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/28/21. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/89d903beb47d8212512379b90bd134a01f12bd52

Thanks.

Luca Boccassi

---
>From 89d903beb47d8212512379b90bd134a01f12bd52 Mon Sep 17 00:00:00 2001
From: Tejasree Kondoj <ktejasree at marvell.com>
Date: Fri, 16 Jul 2021 16:14:47 +0530
Subject: [PATCH] crypto/octeontx2: fix lookaside IPsec IV pointer

[ upstream commit 48c56b329498589e5b57072616e16a776f2d6579 ]

In case of AES-GCM/CCM, nonce/salt comes along
with IV, hence can be copied in a single memcpy.
This patch fixes the IV copy in lookaside IPsec
outbound instruction.

Fixes: fab634eb87ca ("crypto/octeontx2: support security session data path")

Signed-off-by: Tejasree Kondoj <ktejasree at marvell.com>
Acked-by: Akhil Goyal <gakhil at marvell.com>
---
 drivers/crypto/octeontx2/otx2_ipsec_po_ops.h | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h b/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h
index bc702d5c79..ee30131f17 100644
--- a/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h
+++ b/drivers/crypto/octeontx2/otx2_ipsec_po_ops.h
@@ -61,16 +61,12 @@ process_outb_sa(struct rte_crypto_op *cop,
 	uint32_t dlen, rlen, extend_head, extend_tail;
 	struct rte_crypto_sym_op *sym_op = cop->sym;
 	struct rte_mbuf *m_src = sym_op->m_src;
-	struct otx2_ipsec_po_sa_ctl *ctl_wrd;
 	struct cpt_request_info *req = NULL;
 	struct otx2_ipsec_po_out_hdr *hdr;
-	struct otx2_ipsec_po_out_sa *sa;
 	int hdr_len, mdata_len, ret = 0;
 	vq_cmd_word0_t word0;
 	char *mdata, *data;
 
-	sa = &sess->out_sa;
-	ctl_wrd = &sa->ctl;
 	hdr_len = sizeof(*hdr);
 
 	dlen = rte_pktmbuf_pkt_len(m_src) + hdr_len;
@@ -107,14 +103,8 @@ process_outb_sa(struct rte_crypto_op *cop,
 	hdr = (struct otx2_ipsec_po_out_hdr *)rte_pktmbuf_adj(m_src,
 							RTE_ETHER_HDR_LEN);
 
-	if (ctl_wrd->enc_type == OTX2_IPSEC_FP_SA_ENC_AES_GCM) {
-		memcpy(&hdr->iv[0], &sa->iv.gcm.nonce, 4);
-		memcpy(&hdr->iv[4], rte_crypto_op_ctod_offset(cop, uint8_t *,
-			sess->iv_offset), sess->iv_length);
-	} else if (ctl_wrd->auth_type == OTX2_IPSEC_FP_SA_ENC_AES_CBC) {
-		memcpy(&hdr->iv[0], rte_crypto_op_ctod_offset(cop, uint8_t *,
-			sess->iv_offset), sess->iv_length);
-	}
+	memcpy(&hdr->iv[0], rte_crypto_op_ctod_offset(cop, uint8_t *,
+		sess->iv_offset), sess->iv_length);
 
 	/* Prepare CPT instruction */
 	word0.u64 = sess->ucmd_w0;
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-07-26 13:53:16.908369281 +0100
+++ 0020-crypto-octeontx2-fix-lookaside-IPsec-IV-pointer.patch	2021-07-26 13:53:15.833292286 +0100
@@ -1 +1 @@
-From 48c56b329498589e5b57072616e16a776f2d6579 Mon Sep 17 00:00:00 2001
+From 89d903beb47d8212512379b90bd134a01f12bd52 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 48c56b329498589e5b57072616e16a776f2d6579 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -17,2 +18,2 @@
- drivers/crypto/octeontx2/otx2_ipsec_po_ops.h | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
+ drivers/crypto/octeontx2/otx2_ipsec_po_ops.h | 14 ++------------
+ 1 file changed, 2 insertions(+), 12 deletions(-)
@@ -21 +22 @@
-index 58b199f4f3..25ee10f342 100644
+index bc702d5c79..ee30131f17 100644
@@ -24 +25 @@
-@@ -61,7 +61,6 @@ process_outb_sa(struct rte_crypto_op *cop,
+@@ -61,16 +61,12 @@ process_outb_sa(struct rte_crypto_op *cop,
@@ -31,2 +32,3 @@
- 	struct otx2_ipsec_po_out_sa *sa;
-@@ -70,7 +69,6 @@ process_outb_sa(struct rte_crypto_op *cop,
+-	struct otx2_ipsec_po_out_sa *sa;
+ 	int hdr_len, mdata_len, ret = 0;
+ 	vq_cmd_word0_t word0;
@@ -35 +37 @@
- 	sa = &sess->out_sa;
+-	sa = &sess->out_sa;
@@ -40 +42 @@
-@@ -107,14 +105,8 @@ process_outb_sa(struct rte_crypto_op *cop,
+@@ -107,14 +103,8 @@ process_outb_sa(struct rte_crypto_op *cop,
@@ -48 +50 @@
--	} else if (ctl_wrd->auth_type == OTX2_IPSEC_PO_SA_AUTH_SHA1) {
+-	} else if (ctl_wrd->auth_type == OTX2_IPSEC_FP_SA_ENC_AES_CBC) {


More information about the stable mailing list