aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
authorEric Biggers <ebiggers@kernel.org>2026-04-19 23:33:52 -0700
committerHerbert Xu <herbert@gondor.apana.org.au>2026-05-07 16:09:59 +0800
commit06dc3f01e789cdad4d99b99eba35acb26d227f53 (patch)
tree3192e4978319b906f5f5446ab83024758d847d74 /crypto
parent1c4f7235112934232975e6ed08a896a4caa71dd9 (diff)
downloadlinux-next-history-06dc3f01e789cdad4d99b99eba35acb26d227f53.tar.gz
crypto: drbg - Remove unhelpful helper functions
Fold the contents of the inline functions crypto_drbg_get_bytes_addtl(), crypto_drbg_get_bytes_addtl_test(), and crypto_drbg_reset_test() into their only caller in drbg_cavs_test(). It ends up being much simpler. Signed-off-by: Eric Biggers <ebiggers@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/drbg.c15
-rw-r--r--crypto/testmgr.c34
2 files changed, 15 insertions, 34 deletions
diff --git a/crypto/drbg.c b/crypto/drbg.c
index bb8ddc090307a..83cb6c1bbac0a 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -55,7 +55,7 @@
* char data[DATALEN];
*
* drng = crypto_alloc_rng(drng_name, 0, 0);
- * err = crypto_rng_get_bytes(drng, &data, DATALEN);
+ * err = crypto_rng_get_bytes(drng, data, DATALEN);
* crypto_free_rng(drng);
*
*
@@ -64,15 +64,13 @@
* struct crypto_rng *drng;
* int err;
* char data[DATALEN];
- * struct drbg_string pers;
* char personalization[11] = "some-string";
*
- * drbg_string_fill(&pers, personalization, strlen(personalization));
* drng = crypto_alloc_rng(drng_name, 0, 0);
* // The reset completely re-initializes the DRBG with the provided
* // personalization string
- * err = crypto_rng_reset(drng, &personalization, strlen(personalization));
- * err = crypto_rng_get_bytes(drng, &data, DATALEN);
+ * err = crypto_rng_reset(drng, personalization, strlen(personalization));
+ * err = crypto_rng_get_bytes(drng, data, DATALEN);
* crypto_free_rng(drng);
*
*
@@ -82,13 +80,10 @@
* int err;
* char data[DATALEN];
* char addtl_string[11] = "some-string";
- * string drbg_string addtl;
*
- * drbg_string_fill(&addtl, addtl_string, strlen(addtl_string));
* drng = crypto_alloc_rng(drng_name, 0, 0);
- * // The following call is a wrapper to crypto_rng_get_bytes() and returns
- * // the same error codes.
- * err = crypto_drbg_get_bytes_addtl(drng, &data, DATALEN, &addtl);
+ * err = crypto_rng_generate(drng, addtl_string, strlen(addtl_string),
+ data, DATALEN);
* crypto_free_rng(drng);
*
*
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 4d86efae65b21..35ff2b50e3c2c 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -3487,8 +3487,6 @@ static int drbg_cavs_test(const struct drbg_testvec *test, int pr,
{
int ret = -EAGAIN;
struct crypto_rng *drng;
- struct drbg_test_data test_data;
- struct drbg_string addtl, pers, testentropy;
unsigned char *buf = kzalloc(test->expectedlen, GFP_KERNEL);
if (!buf)
@@ -3504,39 +3502,27 @@ static int drbg_cavs_test(const struct drbg_testvec *test, int pr,
return PTR_ERR(drng);
}
- test_data.testentropy = &testentropy;
- drbg_string_fill(&testentropy, test->entropy, test->entropylen);
- drbg_string_fill(&pers, test->pers, test->perslen);
- ret = crypto_drbg_reset_test(drng, &pers, &test_data);
+ crypto_rng_set_entropy(drng, test->entropy, test->entropylen);
+ ret = crypto_rng_reset(drng, test->pers, test->perslen);
if (ret) {
printk(KERN_ERR "alg: drbg: Failed to reset rng\n");
goto outbuf;
}
- drbg_string_fill(&addtl, test->addtla, test->addtllen);
- if (pr) {
- drbg_string_fill(&testentropy, test->entpra, test->entprlen);
- ret = crypto_drbg_get_bytes_addtl_test(drng,
- buf, test->expectedlen, &addtl, &test_data);
- } else {
- ret = crypto_drbg_get_bytes_addtl(drng,
- buf, test->expectedlen, &addtl);
- }
+ if (pr)
+ crypto_rng_set_entropy(drng, test->entpra, test->entprlen);
+ ret = crypto_rng_generate(drng, test->addtla, test->addtllen,
+ buf, test->expectedlen);
if (ret < 0) {
printk(KERN_ERR "alg: drbg: could not obtain random data for "
"driver %s\n", driver);
goto outbuf;
}
- drbg_string_fill(&addtl, test->addtlb, test->addtllen);
- if (pr) {
- drbg_string_fill(&testentropy, test->entprb, test->entprlen);
- ret = crypto_drbg_get_bytes_addtl_test(drng,
- buf, test->expectedlen, &addtl, &test_data);
- } else {
- ret = crypto_drbg_get_bytes_addtl(drng,
- buf, test->expectedlen, &addtl);
- }
+ if (pr)
+ crypto_rng_set_entropy(drng, test->entprb, test->entprlen);
+ ret = crypto_rng_generate(drng, test->addtlb, test->addtllen,
+ buf, test->expectedlen);
if (ret < 0) {
printk(KERN_ERR "alg: drbg: could not obtain random data for "
"driver %s\n", driver);