patch 'test/crypto: validate ML crypto keys' has been queued to stable release 25.11.3
Kevin Traynor
ktraynor at redhat.com
Tue Jul 28 17:56:08 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/01/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/89874ca6e8db24324115728ff79b672f5f34cff8
Thanks.
Kevin
---
>From 89874ca6e8db24324115728ff79b672f5f34cff8 Mon Sep 17 00:00:00 2001
From: Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
Date: Wed, 27 May 2026 14:43:59 +0530
Subject: [PATCH] test/crypto: validate ML crypto keys
[ upstream commit 519855c0d93ba14cd8580992e552060756adfef8 ]
Validate ML-KEM and ML-DSA keys.
Fixes: 76a5877072c0 ("test/crypto: add ML-KEM and ML-DSA cases")
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
Acked-by: Akhil Goyal <gakhil at marvell.com>
---
app/test/test_cryptodev_asym.c | 48 ++++++++-----------
app/test/test_cryptodev_ml_dsa_test_vectors.h | 8 ++++
app/test/test_cryptodev_ml_kem_test_vectors.h | 8 ++++
3 files changed, 36 insertions(+), 28 deletions(-)
diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
index 34c15e26bc..22eff90da5 100644
--- a/app/test/test_cryptodev_asym.c
+++ b/app/test/test_cryptodev_asym.c
@@ -3906,17 +3906,13 @@ mlkem_keygen(const void *test_data)
"Incorrect Encapsulation key length\n");
- /* If the seed is all zero, keys are deterministic */
- if (memcmp(vector->d.data, (uint8_t [32]) {0},
- vector->d.length) == 0) {
- TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->dk.data,
- self->result_op->asym->mlkem.keygen.dk.data,
- self->result_op->asym->mlkem.keygen.dk.length,
- "Incorrect Decapsulation key\n");
- TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->ek.data,
- self->result_op->asym->mlkem.keygen.ek.data,
- self->result_op->asym->mlkem.keygen.ek.length,
- "Incorrect Encapsulation key\n");
- RTE_LOG(DEBUG, USER1, "Deterministic keygen test passed\n");
- }
+ TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->dk.data,
+ self->result_op->asym->mlkem.keygen.dk.data,
+ self->result_op->asym->mlkem.keygen.dk.length,
+ "Incorrect Decapsulation key\n");
+ TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->ek.data,
+ self->result_op->asym->mlkem.keygen.ek.data,
+ self->result_op->asym->mlkem.keygen.ek.length,
+ "Incorrect Encapsulation key\n");
+ RTE_LOG(DEBUG, USER1, "Deterministic keygen test passed\n");
rte_cryptodev_asym_session_free(dev_id, self->sess);
@@ -4078,5 +4074,5 @@ mlkem_decap(const void *test_data)
self->op->asym->mlkem.decap.sk.length = 32;
- TEST_ASSERT_SUCCESS(send_one(),
+ TEST_ASSERT_SUCCESS(send_one_no_status_check(),
"Failed to process crypto op (ML-KEM Decap)");
@@ -4106,5 +4102,5 @@ mlkem_decap(const void *test_data)
self->op->asym->mlkem.decap.sk.length = 32;
- TEST_ASSERT_SUCCESS(send_one(),
+ TEST_ASSERT_SUCCESS(send_one_no_status_check(),
"Failed to process crypto op (ML-KEM Decap)");
@@ -4171,17 +4167,13 @@ mldsa_keygen(const void *test_data)
"Incorrect Public key length\n");
- /* If the seed is all zero, keys are deterministic */
- if (memcmp(vector->seed.data, (uint8_t [32]) {0},
- vector->seed.length) == 0) {
- TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->privkey.data,
- self->result_op->asym->mldsa.keygen.privkey.data,
- self->result_op->asym->mldsa.keygen.privkey.length,
- "Incorrect Private key\n");
- TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->pubkey.data,
- self->result_op->asym->mldsa.keygen.pubkey.data,
- self->result_op->asym->mldsa.keygen.pubkey.length,
- "Incorrect Public key\n");
- RTE_LOG(DEBUG, USER1, "Deterministic keygen test passed\n");
- }
+ TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->privkey.data,
+ self->result_op->asym->mldsa.keygen.privkey.data,
+ self->result_op->asym->mldsa.keygen.privkey.length,
+ "Incorrect Private key\n");
+ TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->pubkey.data,
+ self->result_op->asym->mldsa.keygen.pubkey.data,
+ self->result_op->asym->mldsa.keygen.pubkey.length,
+ "Incorrect Public key\n");
+ RTE_LOG(DEBUG, USER1, "Deterministic keygen test passed\n");
rte_cryptodev_asym_session_free(dev_id, self->sess);
diff --git a/app/test/test_cryptodev_ml_dsa_test_vectors.h b/app/test/test_cryptodev_ml_dsa_test_vectors.h
index f2453b9f34..675a6fad04 100644
--- a/app/test/test_cryptodev_ml_dsa_test_vectors.h
+++ b/app/test/test_cryptodev_ml_dsa_test_vectors.h
@@ -1654,4 +1654,12 @@ struct crypto_testsuite_mldsa_params mldsa_keygen_test_vectors[] = {
.length = sizeof(mldsa_44_seed),
},
+ .privkey = {
+ .data = mldsa_44_privkey,
+ .length = sizeof(mldsa_44_privkey),
+ },
+ .pubkey = {
+ .data = mldsa_44_pubkey,
+ .length = sizeof(mldsa_44_pubkey),
+ },
},
{
diff --git a/app/test/test_cryptodev_ml_kem_test_vectors.h b/app/test/test_cryptodev_ml_kem_test_vectors.h
index 8294acc29e..a1d727b969 100644
--- a/app/test/test_cryptodev_ml_kem_test_vectors.h
+++ b/app/test/test_cryptodev_ml_kem_test_vectors.h
@@ -786,4 +786,12 @@ struct crypto_testsuite_mlkem_params mlkem_keygen_test_vectors[] = {
.length = sizeof(mlkem_512_z),
},
+ .dk = {
+ .data = mlkem_512_dk,
+ .length = sizeof(mlkem_512_dk),
+ },
+ .ek = {
+ .data = mlkem_512_ek,
+ .length = sizeof(mlkem_512_ek),
+ }
},
{
--
2.55.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-07-28 16:54:51.918165591 +0100
+++ 0038-test-crypto-validate-ML-crypto-keys.patch 2026-07-28 16:54:50.776728551 +0100
@@ -1 +1 @@
-From 519855c0d93ba14cd8580992e552060756adfef8 Mon Sep 17 00:00:00 2001
+From 89874ca6e8db24324115728ff79b672f5f34cff8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 519855c0d93ba14cd8580992e552060756adfef8 ]
+
@@ -9 +10,0 @@
-Cc: stable at dpdk.org
@@ -20 +21 @@
-index bf1a1fc417..73a8198e53 100644
+index 34c15e26bc..22eff90da5 100644
@@ -23 +24 @@
-@@ -3950,17 +3950,13 @@ mlkem_keygen(const void *test_data)
+@@ -3906,17 +3906,13 @@ mlkem_keygen(const void *test_data)
@@ -50 +51 @@
-@@ -4072,5 +4068,5 @@ mlkem_encap(const void *test_data)
+@@ -4078,5 +4074,5 @@ mlkem_decap(const void *test_data)
@@ -57 +58 @@
-@@ -4150,5 +4146,5 @@ mlkem_decap(const void *test_data)
+@@ -4106,5 +4102,5 @@ mlkem_decap(const void *test_data)
@@ -64 +65 @@
-@@ -4215,17 +4211,13 @@ mldsa_keygen(const void *test_data)
+@@ -4171,17 +4167,13 @@ mldsa_keygen(const void *test_data)
More information about the stable
mailing list