aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>2012-07-11 07:20:00 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2012-08-01 05:47:24 -0400
commit70a03bff6c3f9d2983f90b74e40b0769ceb4cbd7 (patch)
treede0e2248e5ac398ee64d9f537f42455fb0eef1f8 /crypto
parent738206d325a936d048bb66b5e0c70e3b1a8692be (diff)
crypto: crypto_null - use crypto_[un]register_algs
Combine all crypto_alg to be registered and use new crypto_[un]register_algs functions. This simplifies init/exit code. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/crypto_null.c57
1 files changed, 18 insertions, 39 deletions
diff --git a/crypto/crypto_null.c b/crypto/crypto_null.c
index 07a8a96d46fc..fee7265cd35d 100644
--- a/crypto/crypto_null.c
+++ b/crypto/crypto_null.c
@@ -94,18 +94,6 @@ static int skcipher_null_crypt(struct blkcipher_desc *desc,
94 return err; 94 return err;
95} 95}
96 96
97static struct crypto_alg compress_null = {
98 .cra_name = "compress_null",
99 .cra_flags = CRYPTO_ALG_TYPE_COMPRESS,
100 .cra_blocksize = NULL_BLOCK_SIZE,
101 .cra_ctxsize = 0,
102 .cra_module = THIS_MODULE,
103 .cra_list = LIST_HEAD_INIT(compress_null.cra_list),
104 .cra_u = { .compress = {
105 .coa_compress = null_compress,
106 .coa_decompress = null_compress } }
107};
108
109static struct shash_alg digest_null = { 97static struct shash_alg digest_null = {
110 .digestsize = NULL_DIGEST_SIZE, 98 .digestsize = NULL_DIGEST_SIZE,
111 .setkey = null_hash_setkey, 99 .setkey = null_hash_setkey,
@@ -122,22 +110,19 @@ static struct shash_alg digest_null = {
122 } 110 }
123}; 111};
124 112
125static struct crypto_alg cipher_null = { 113static struct crypto_alg null_algs[3] = { {
126 .cra_name = "cipher_null", 114 .cra_name = "cipher_null",
127 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 115 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
128 .cra_blocksize = NULL_BLOCK_SIZE, 116 .cra_blocksize = NULL_BLOCK_SIZE,
129 .cra_ctxsize = 0, 117 .cra_ctxsize = 0,
130 .cra_module = THIS_MODULE, 118 .cra_module = THIS_MODULE,
131 .cra_list = LIST_HEAD_INIT(cipher_null.cra_list),
132 .cra_u = { .cipher = { 119 .cra_u = { .cipher = {
133 .cia_min_keysize = NULL_KEY_SIZE, 120 .cia_min_keysize = NULL_KEY_SIZE,
134 .cia_max_keysize = NULL_KEY_SIZE, 121 .cia_max_keysize = NULL_KEY_SIZE,
135 .cia_setkey = null_setkey, 122 .cia_setkey = null_setkey,
136 .cia_encrypt = null_crypt, 123 .cia_encrypt = null_crypt,
137 .cia_decrypt = null_crypt } } 124 .cia_decrypt = null_crypt } }
138}; 125}, {
139
140static struct crypto_alg skcipher_null = {
141 .cra_name = "ecb(cipher_null)", 126 .cra_name = "ecb(cipher_null)",
142 .cra_driver_name = "ecb-cipher_null", 127 .cra_driver_name = "ecb-cipher_null",
143 .cra_priority = 100, 128 .cra_priority = 100,
@@ -146,7 +131,6 @@ static struct crypto_alg skcipher_null = {
146 .cra_type = &crypto_blkcipher_type, 131 .cra_type = &crypto_blkcipher_type,
147 .cra_ctxsize = 0, 132 .cra_ctxsize = 0,
148 .cra_module = THIS_MODULE, 133 .cra_module = THIS_MODULE,
149 .cra_list = LIST_HEAD_INIT(skcipher_null.cra_list),
150 .cra_u = { .blkcipher = { 134 .cra_u = { .blkcipher = {
151 .min_keysize = NULL_KEY_SIZE, 135 .min_keysize = NULL_KEY_SIZE,
152 .max_keysize = NULL_KEY_SIZE, 136 .max_keysize = NULL_KEY_SIZE,
@@ -154,7 +138,16 @@ static struct crypto_alg skcipher_null = {
154 .setkey = null_setkey, 138 .setkey = null_setkey,
155 .encrypt = skcipher_null_crypt, 139 .encrypt = skcipher_null_crypt,
156 .decrypt = skcipher_null_crypt } } 140 .decrypt = skcipher_null_crypt } }
157}; 141}, {
142 .cra_name = "compress_null",
143 .cra_flags = CRYPTO_ALG_TYPE_COMPRESS,
144 .cra_blocksize = NULL_BLOCK_SIZE,
145 .cra_ctxsize = 0,
146 .cra_module = THIS_MODULE,
147 .cra_u = { .compress = {
148 .coa_compress = null_compress,
149 .coa_decompress = null_compress } }
150} };
158 151
159MODULE_ALIAS("compress_null"); 152MODULE_ALIAS("compress_null");
160MODULE_ALIAS("digest_null"); 153MODULE_ALIAS("digest_null");
@@ -164,40 +157,26 @@ static int __init crypto_null_mod_init(void)
164{ 157{
165 int ret = 0; 158 int ret = 0;
166 159
167 ret = crypto_register_alg(&cipher_null); 160 ret = crypto_register_algs(null_algs, ARRAY_SIZE(null_algs));
168 if (ret < 0) 161 if (ret < 0)
169 goto out; 162 goto out;
170 163
171 ret = crypto_register_alg(&skcipher_null);
172 if (ret < 0)
173 goto out_unregister_cipher;
174
175 ret = crypto_register_shash(&digest_null); 164 ret = crypto_register_shash(&digest_null);
176 if (ret < 0) 165 if (ret < 0)
177 goto out_unregister_skcipher; 166 goto out_unregister_algs;
178 167
179 ret = crypto_register_alg(&compress_null); 168 return 0;
180 if (ret < 0)
181 goto out_unregister_digest;
182 169
170out_unregister_algs:
171 crypto_unregister_algs(null_algs, ARRAY_SIZE(null_algs));
183out: 172out:
184 return ret; 173 return ret;
185
186out_unregister_digest:
187 crypto_unregister_shash(&digest_null);
188out_unregister_skcipher:
189 crypto_unregister_alg(&skcipher_null);
190out_unregister_cipher:
191 crypto_unregister_alg(&cipher_null);
192 goto out;
193} 174}
194 175
195static void __exit crypto_null_mod_fini(void) 176static void __exit crypto_null_mod_fini(void)
196{ 177{
197 crypto_unregister_alg(&compress_null);
198 crypto_unregister_shash(&digest_null); 178 crypto_unregister_shash(&digest_null);
199 crypto_unregister_alg(&skcipher_null); 179 crypto_unregister_algs(null_algs, ARRAY_SIZE(null_algs));
200 crypto_unregister_alg(&cipher_null);
201} 180}
202 181
203module_init(crypto_null_mod_init); 182module_init(crypto_null_mod_init);