From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
To: <dev@dpdk.org>, Akhil Goyal <gakhil@marvell.com>,
Fan Zhang <fanzhang.oss@gmail.com>,
Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Cc: <stable@dpdk.org>
Subject: [PATCH 2/2] test/crypto: fix prehash in MLDSA session
Date: Wed, 27 May 2026 14:22:53 +0530 [thread overview]
Message-ID: <20260527085257.1933-2-gmuthukrishn@marvell.com> (raw)
In-Reply-To: <20260527085257.1933-1-gmuthukrishn@marvell.com>
Set prehash flag in MLDSA session as per test parameter.
Fixes: 76a5877072c ("test/crypto: add ML-KEM and ML-DSA cases")
Cc: stable@dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
---
app/test/test_cryptodev_asym.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
index 73a8198e53..90af49e485 100644
--- a/app/test/test_cryptodev_asym.c
+++ b/app/test/test_cryptodev_asym.c
@@ -4236,6 +4236,7 @@ mldsa_sign(const void *test_data)
xform.mldsa.type = vector->type;
xform.mldsa.sign_deterministic = vector->sign_deterministic;
+ xform.mldsa.sign_prehash = !!vector->hash;
xform.xform_type = RTE_CRYPTO_ASYM_XFORM_ML_DSA;
rte_cryptodev_info_get(dev_id, &dev_info);
@@ -4310,6 +4311,7 @@ mldsa_sign(const void *test_data)
self->op->asym->mldsa.sigver.pubkey.length = vector->pubkey.length;
self->op->asym->mldsa.sigver.sign.data = sign;
self->op->asym->mldsa.sigver.sign.length = sign_len;
+ self->op->asym->mldsa.sigver.hash = vector->hash;
TEST_ASSERT_SUCCESS(send_one(),
"Failed to process crypto op (ML-DSA Verify)");
@@ -4332,6 +4334,7 @@ mldsa_sign(const void *test_data)
self->op->asym->mldsa.sigver.pubkey.length = vector->pubkey.length;
self->op->asym->mldsa.sigver.sign.data = sign;
self->op->asym->mldsa.sigver.sign.length = sign_len;
+ self->op->asym->mldsa.sigver.hash = vector->hash;
TEST_ASSERT_SUCCESS(send_one_no_status_check(),
"Failed to process crypto op (ML-DSA Verify)");
@@ -4352,12 +4355,26 @@ mldsa_verify(const void *test_data)
const struct crypto_testsuite_mldsa_params *vector = test_data;
const uint8_t dev_id = params->valid_devs[0];
struct rte_crypto_asym_xform xform = {0};
+ struct rte_cryptodev_info dev_info;
uint8_t sign[TEST_DATA_SIZE] = {0};
size_t sign_len;
xform.mldsa.type = vector->type;
xform.mldsa.sign_deterministic = vector->sign_deterministic;
+ xform.mldsa.sign_prehash = !!vector->hash;
xform.xform_type = RTE_CRYPTO_ASYM_XFORM_ML_DSA;
+
+ rte_cryptodev_info_get(dev_id, &dev_info);
+
+ /* Check if prehash is supported */
+ if (vector->hash) {
+ if (!(dev_info.feature_flags & RTE_CRYPTODEV_FF_MLDSA_SIGN_PREHASH)) {
+ RTE_LOG(DEBUG, USER1,
+ "Device doesn't support prehash in ML-DSA verify. Test skipped\n");
+ return TEST_SKIPPED;
+ }
+ }
+
if (rte_cryptodev_asym_session_create(dev_id, &xform,
params->session_mpool, &self->sess) < 0) {
RTE_LOG(ERR, USER1, "line %u FAILED: Session creation failed",
@@ -4379,6 +4396,7 @@ mldsa_verify(const void *test_data)
self->op->asym->mldsa.sigver.pubkey.length = vector->pubkey.length;
self->op->asym->mldsa.sigver.sign.data = vector->sign.data;
self->op->asym->mldsa.sigver.sign.length = vector->sign.length;
+ self->op->asym->mldsa.sigver.hash = vector->hash;
TEST_ASSERT_SUCCESS(send_one(),
"Failed to process crypto op (ML-DSA Verify)");
@@ -4403,6 +4421,7 @@ mldsa_verify(const void *test_data)
self->op->asym->mldsa.sigver.pubkey.length = vector->pubkey.length;
self->op->asym->mldsa.sigver.sign.data = sign;
self->op->asym->mldsa.sigver.sign.length = sign_len;
+ self->op->asym->mldsa.sigver.hash = vector->hash;
TEST_ASSERT_SUCCESS(send_one_no_status_check(),
"Failed to process crypto op (ML-DSA Verify)");
--
2.37.1
next prev parent reply other threads:[~2026-05-27 8:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-27 8:52 [PATCH 1/2] test/crypto: validate ML crypto keys Gowrishankar Muthukrishnan
2026-05-27 8:52 ` Gowrishankar Muthukrishnan [this message]
2026-05-27 9:13 ` [v2 " Gowrishankar Muthukrishnan
2026-05-27 9:14 ` [v2 2/2] test/crypto: fix prehash in MLDSA session Gowrishankar Muthukrishnan
2026-06-20 18:17 ` [PATCH 1/2] test/crypto: validate ML crypto keys Akhil Goyal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260527085257.1933-2-gmuthukrishn@marvell.com \
--to=gmuthukrishn@marvell.com \
--cc=dev@dpdk.org \
--cc=fanzhang.oss@gmail.com \
--cc=gakhil@marvell.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox