From: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
To: linux-crypto@vger.kernel.org
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
Neil Horman <nhorman@tuxdriver.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 05/14] crypto: ansi_cprng - use crypto_[un]register_algs
Date: Wed, 11 Jul 2012 14:20:15 +0300 [thread overview]
Message-ID: <20120711112015.6875.75821.stgit@localhost6.localdomain6> (raw)
In-Reply-To: <20120711111949.6875.60269.stgit@localhost6.localdomain6>
Combine all crypto_alg to be registered and use new crypto_[un]register_algs
functions. This simplifies init/exit code.
Cc: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
---
crypto/ansi_cprng.c | 63 +++++++++++++++++++--------------------------------
1 file changed, 23 insertions(+), 40 deletions(-)
diff --git a/crypto/ansi_cprng.c b/crypto/ansi_cprng.c
index 6ddd99e..c0bb377 100644
--- a/crypto/ansi_cprng.c
+++ b/crypto/ansi_cprng.c
@@ -382,26 +382,6 @@ static int cprng_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen)
return 0;
}
-static struct crypto_alg rng_alg = {
- .cra_name = "stdrng",
- .cra_driver_name = "ansi_cprng",
- .cra_priority = 100,
- .cra_flags = CRYPTO_ALG_TYPE_RNG,
- .cra_ctxsize = sizeof(struct prng_context),
- .cra_type = &crypto_rng_type,
- .cra_module = THIS_MODULE,
- .cra_list = LIST_HEAD_INIT(rng_alg.cra_list),
- .cra_init = cprng_init,
- .cra_exit = cprng_exit,
- .cra_u = {
- .rng = {
- .rng_make_random = cprng_get_random,
- .rng_reset = cprng_reset,
- .seedsize = DEFAULT_PRNG_KSZ + 2*DEFAULT_BLK_SZ,
- }
- }
-};
-
#ifdef CONFIG_CRYPTO_FIPS
static int fips_cprng_get_random(struct crypto_rng *tfm, u8 *rdata,
unsigned int dlen)
@@ -438,8 +418,27 @@ static int fips_cprng_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen)
out:
return rc;
}
+#endif
-static struct crypto_alg fips_rng_alg = {
+static struct crypto_alg rng_algs[] = { {
+ .cra_name = "stdrng",
+ .cra_driver_name = "ansi_cprng",
+ .cra_priority = 100,
+ .cra_flags = CRYPTO_ALG_TYPE_RNG,
+ .cra_ctxsize = sizeof(struct prng_context),
+ .cra_type = &crypto_rng_type,
+ .cra_module = THIS_MODULE,
+ .cra_init = cprng_init,
+ .cra_exit = cprng_exit,
+ .cra_u = {
+ .rng = {
+ .rng_make_random = cprng_get_random,
+ .rng_reset = cprng_reset,
+ .seedsize = DEFAULT_PRNG_KSZ + 2*DEFAULT_BLK_SZ,
+ }
+ }
+#ifdef CONFIG_CRYPTO_FIPS
+}, {
.cra_name = "fips(ansi_cprng)",
.cra_driver_name = "fips_ansi_cprng",
.cra_priority = 300,
@@ -447,7 +446,6 @@ static struct crypto_alg fips_rng_alg = {
.cra_ctxsize = sizeof(struct prng_context),
.cra_type = &crypto_rng_type,
.cra_module = THIS_MODULE,
- .cra_list = LIST_HEAD_INIT(rng_alg.cra_list),
.cra_init = cprng_init,
.cra_exit = cprng_exit,
.cra_u = {
@@ -457,33 +455,18 @@ static struct crypto_alg fips_rng_alg = {
.seedsize = DEFAULT_PRNG_KSZ + 2*DEFAULT_BLK_SZ,
}
}
-};
#endif
+} };
/* Module initalization */
static int __init prng_mod_init(void)
{
- int rc = 0;
-
- rc = crypto_register_alg(&rng_alg);
-#ifdef CONFIG_CRYPTO_FIPS
- if (rc)
- goto out;
-
- rc = crypto_register_alg(&fips_rng_alg);
-
-out:
-#endif
- return rc;
+ return crypto_register_algs(rng_algs, ARRAY_SIZE(rng_algs));
}
static void __exit prng_mod_fini(void)
{
- crypto_unregister_alg(&rng_alg);
-#ifdef CONFIG_CRYPTO_FIPS
- crypto_unregister_alg(&fips_rng_alg);
-#endif
- return;
+ crypto_unregister_algs(rng_algs, ARRAY_SIZE(rng_algs));
}
MODULE_LICENSE("GPL");
next prev parent reply other threads:[~2012-07-11 11:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-11 11:19 [PATCH 00/14] crypto: cleanup - alg and shash init/exit cleanups and remove unneeded cra_list initializations Jussi Kivilinna
2012-07-11 11:19 ` [PATCH 01/14] crypto: tea - use crypto_[un]register_algs Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 02/14] crypto: crypto_null " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 03/14] crypto: des " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 04/14] crypto: serpent " Jussi Kivilinna
2012-07-11 11:20 ` Jussi Kivilinna [this message]
2012-07-11 11:20 ` [PATCH 06/14] crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 07/14] crypto: tiger - use crypto_[un]register_shashes Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 08/14] crypto: sha256 " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 09/14] crypto: sha512 " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 10/14] crypto: whirlpool " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 11/14] crypto: cleanup - remove unneeded crypto_alg.cra_list initializations Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 12/14] crypto: arch/x86 - " Jussi Kivilinna
2012-07-11 11:20 ` [PATCH 13/14] crypto: drivers - remove cra_list initialization Jussi Kivilinna
2012-07-13 17:00 ` Kent Yoder
2012-07-18 1:04 ` Vladimir Zapolskiy
2012-07-11 11:21 ` [PATCH 14/14] crypto: arch/s390 - cleanup - remove unneeded " Jussi Kivilinna
2012-07-12 9:28 ` Jan Glauber
2012-07-30 7:52 ` [PATCH 00/14] crypto: cleanup - alg and shash init/exit cleanups and remove unneeded cra_list initializations Herbert Xu
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=20120711112015.6875.75821.stgit@localhost6.localdomain6 \
--to=jussi.kivilinna@mbnet.fi \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
/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;
as well as URLs for NNTP newsgroup(s).