Skip to contentSkip to conversation

test/crypto: copy offset data to oop dst buffer

dpdk-dev Applied Kai Ji 2 participants 3 messages May 4, 2021 – May 5, 2021

lore
Share & tools
lore

Kai Ji

author
#0 lore raw

Copy over the offset data required for auth in out-of-place op when auth offset and cipher offset are not aligned.

Fixes e847fc512817 ("test/crypto: add encrypted digest case for AES-CTR-CMAC")
---
 app/test/test_cryptodev.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
app/test/test_cryptodev.c +15 -0
index d6956f9c2e..366d06becc 100644
@@ -2386,6 +2386,21 @@ create_wireless_algo_auth_cipher_operation(
 	iv_ptr += cipher_iv_len;
 	rte_memcpy(iv_ptr, auth_iv, auth_iv_len);
 
+	/* Only copy over the offset data needed from src to dst in OOP,
+	 * if the auth and cipher offsets are not aligned
+	 */
+	if (op_mode == OUT_OF_PLACE) {
+		if (cipher_offset > auth_offset)
+			rte_memcpy(
+				rte_pktmbuf_mtod_offset(
+					sym_op->m_dst,
+					uint8_t *, auth_offset >> 3),
+				rte_pktmbuf_mtod_offset(
+					sym_op->m_src,
+					uint8_t *, auth_offset >> 3),
+				((cipher_offset >> 3) - (auth_offset >> 3)));
+	}
+
 	if (cipher_algo == RTE_CRYPTO_CIPHER_SNOW3G_UEA2 ||
 		cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
 		cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3) {
Signature · 13 lines
2.17.1

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.
author
#1 lore raw

PATCH v2 1/1 test/crypto: copy offset data to oop dst buffer

Copy over the offset data required for auth in out-of-place op when auth offset and cipher offset are not aligned.

Fixes e847fc512817 ("test/crypto: add encrypted digest case for AES-CTR-CMAC")

---
v2:
- rebase to head of for-main branch

app/test/test_cryptodev.c | 15 +++++++++++++++

 1 file changed, 15 insertions(+)
app/test/test_cryptodev.c +15 -0
index a677a21e36..2bd4ff96cb 100644
@@ -2629,6 +2629,21 @@ create_wireless_algo_auth_cipher_operation(
 	iv_ptr += cipher_iv_len;
 	rte_memcpy(iv_ptr, auth_iv, auth_iv_len);
 
+	/* Only copy over the offset data needed from src to dst in OOP,
+	 * if the auth and cipher offsets are not aligned
+	 */
+	if (op_mode == OUT_OF_PLACE) {
+		if (cipher_offset > auth_offset)
+			rte_memcpy(
+				rte_pktmbuf_mtod_offset(
+					sym_op->m_dst,
+					uint8_t *, auth_offset >> 3),
+				rte_pktmbuf_mtod_offset(
+					sym_op->m_src,
+					uint8_t *, auth_offset >> 3),
+				((cipher_offset >> 3) - (auth_offset >> 3)));
+	}
+
 	if (cipher_algo == RTE_CRYPTO_CIPHER_SNOW3G_UEA2 ||
 		cipher_algo == RTE_CRYPTO_CIPHER_KASUMI_F8 ||
 		cipher_algo == RTE_CRYPTO_CIPHER_ZUC_EEA3) {
Signature · 13 lines
2.17.1

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.
Applied
#2 lore raw
Quoted 12 lines

Copy over the offset data required for auth in out-of-place op when auth offset and cipher offset are not aligned.

Fixes e847fc512817 ("test/crypto: add encrypted digest case for AES-CTR-

CMAC")
Cc: [email protected]

---
v2:
- rebase to head of for-main branch

Applied to dpdk-next-crypto

Thanks.