patch 'crypto/armv8: use timing-safe digest comparison' has been queued to stable release 25.11.3
Kevin Traynor
ktraynor at redhat.com
Thu Jul 30 11:16:42 CEST 2026
Hi,
FYI, your patch has been queued to stable release 25.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 08/04/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/16a4eac2f945303ef6eba4ef52a518faf685ea88
Thanks.
Kevin
---
>From 16a4eac2f945303ef6eba4ef52a518faf685ea88 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen at networkplumber.org>
Date: Mon, 29 Jun 2026 11:59:27 -0700
Subject: [PATCH] crypto/armv8: use timing-safe digest comparison
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit d84f4082f8de0e755d6b08eab51f340ddf37a9b1 ]
The chained-op verify path compared the computed and expected MAC
with memcmp(), whose run time depends on the number of matching
leading bytes and can leak the digest to an attacker submitting
forged values.
Use rte_memeq_timingsafe() for the verify comparison.
Bugzilla ID: 1773
Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors")
Reported-by: Siraj Luthfi Ananda <sirajluthfi at gmail.com>
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
Acked-by: Jack Bond-Preston <jack.bond-preston at foss.arm.com>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
---
drivers/crypto/armv8/rte_armv8_pmd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
index 320e2d4b3b..a7caac186d 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -632,6 +632,6 @@ process_armv8_chained_op(struct armv8_crypto_qp *qp, struct rte_crypto_op *op,
op->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
if (sess->auth.operation == RTE_CRYPTO_AUTH_OP_VERIFY) {
- if (memcmp(adst, op->sym->auth.digest.data,
- sess->auth.digest_length) != 0) {
+ if (!rte_memeq_timingsafe(adst, op->sym->auth.digest.data,
+ sess->auth.digest_length)) {
op->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;
}
--
2.55.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-07-30 10:16:03.286975796 +0100
+++ 0063-crypto-armv8-use-timing-safe-digest-comparison.patch 2026-07-30 10:16:01.493070795 +0100
@@ -1 +1 @@
-From d84f4082f8de0e755d6b08eab51f340ddf37a9b1 Mon Sep 17 00:00:00 2001
+From 16a4eac2f945303ef6eba4ef52a518faf685ea88 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit d84f4082f8de0e755d6b08eab51f340ddf37a9b1 ]
+
@@ -18 +19,0 @@
-Cc: stable at dpdk.org
More information about the stable
mailing list