Skip to content

Commit

Permalink
crypto/octeontx2: fix lookaside IPsec IV pointer
Browse files Browse the repository at this point in the history
[ upstream commit 48c56b3 ]

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: fab634e ("crypto/octeontx2: support security session data path")

Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
  • Loading branch information
Tejasree Kondoj authored and bluca committed Jul 26, 2021
1 parent 48181d1 commit 89d903b
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/crypto/octeontx2/otx2_ipsec_po_ops.h
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 89d903b

Please sign in to comment.