patch 'crypto/qat: align vector address' has been queued to stable release 25.11.1

Kevin Traynor ktraynor at redhat.com
Thu Feb 26 14:09:40 CET 2026


Hi,

FYI, your patch has been queued to stable release 25.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/02/26. 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/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/3a1c5ecbc35c9ebe3f204602f47ca4facd42d087

Thanks.

Kevin

---
>From 3a1c5ecbc35c9ebe3f204602f47ca4facd42d087 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau at intel.com>
Date: Tue, 2 Dec 2025 10:57:31 +0000
Subject: [PATCH] crypto/qat: align vector address

[ upstream commit 89895cdab75f160ec8323d0f6946ebe0a4e7851d ]

Align the vector address rather than computed source address to
make sure the alignment is properly propagated.

Fixes: 253174309ff7 ("crypto/qat: fix source buffer alignment")

Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
Acked-by: Kai Ji <kai.ji at intel.com>
---
 drivers/crypto/qat/dev/qat_crypto_pmd_gens.h | 33 +++++++++-----------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h b/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h
index 67dc889b50..22ee0fe4fe 100644
--- a/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h
+++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gens.h
@@ -444,4 +444,19 @@ qat_sym_build_req_set_data(struct icp_qat_fw_la_bulk_req *req,
 		return -1;
 
+	/* For crypto API only: try to align the in-place buffers*/
+	if (op != NULL && likely(n_dst == 0) && likely(!is_sgl)) {
+		rte_iova_t offset = src_vec[0].iova & RTE_CACHE_LINE_MASK;
+		if (offset) {
+			rte_iova_t buff_addr = rte_mbuf_iova_get(op->sym->m_src);
+			/* make sure src_data_start is still within the buffer */
+			if (src_vec[0].iova - offset >= buff_addr) {
+				src_vec[0].iova -= offset;
+				src_vec[0].len += offset;
+				ofs->ofs.auth.head += offset;
+				ofs->ofs.cipher.head += offset;
+			}
+		}
+	}
+
 	if (likely(!is_sgl)) {
 		src_data_start = src_vec[0].iova;
@@ -504,22 +519,4 @@ qat_sym_build_req_set_data(struct icp_qat_fw_la_bulk_req *req,
 	}
 
-	/* For crypto API only try to align the in-place buffers*/
-	if (op != NULL && likely(n_dst == 0)) {
-		uint16_t offset = src_data_start & RTE_CACHE_LINE_MASK;
-		if (offset) {
-			rte_iova_t buff_addr = rte_mbuf_iova_get(op->sym->m_src);
-			/* make sure src_data_start is still within the buffer */
-			if (src_data_start - offset >= buff_addr) {
-				src_data_start -= offset;
-				dst_data_start = src_data_start;
-				ofs->ofs.auth.head += offset;
-				ofs->ofs.cipher.head += offset;
-				tl_src += offset;
-				total_len_src = tl_src;
-				total_len_dst = tl_src;
-			}
-		}
-	}
-
 	req->comn_mid.src_data_addr = src_data_start;
 	req->comn_mid.dest_data_addr = dst_data_start;
-- 
2.53.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-02-26 10:16:50.883000525 +0000
+++ 0098-crypto-qat-align-vector-address.patch	2026-02-26 10:16:47.043459640 +0000
@@ -1 +1 @@
-From 89895cdab75f160ec8323d0f6946ebe0a4e7851d Mon Sep 17 00:00:00 2001
+From 3a1c5ecbc35c9ebe3f204602f47ca4facd42d087 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89895cdab75f160ec8323d0f6946ebe0a4e7851d ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org



More information about the stable mailing list