diff options
Diffstat (limited to 'crypto/crypto_null.c')
| -rw-r--r-- | crypto/crypto_null.c | 63 | 
1 files changed, 19 insertions, 44 deletions
diff --git a/crypto/crypto_null.c b/crypto/crypto_null.c index 07a8a96d46f..1dc54bb95a8 100644 --- a/crypto/crypto_null.c +++ b/crypto/crypto_null.c @@ -17,6 +17,7 @@   *   */ +#include <crypto/null.h>  #include <crypto/internal/hash.h>  #include <crypto/internal/skcipher.h>  #include <linux/init.h> @@ -24,11 +25,6 @@  #include <linux/mm.h>  #include <linux/string.h> -#define NULL_KEY_SIZE		0 -#define NULL_BLOCK_SIZE		1 -#define NULL_DIGEST_SIZE	0 -#define NULL_IV_SIZE		0 -  static int null_compress(struct crypto_tfm *tfm, const u8 *src,  			 unsigned int slen, u8 *dst, unsigned int *dlen)  { @@ -94,18 +90,6 @@ static int skcipher_null_crypt(struct blkcipher_desc *desc,  	return err;  } -static struct crypto_alg compress_null = { -	.cra_name		=	"compress_null", -	.cra_flags		=	CRYPTO_ALG_TYPE_COMPRESS, -	.cra_blocksize		=	NULL_BLOCK_SIZE, -	.cra_ctxsize		=	0, -	.cra_module		=	THIS_MODULE, -	.cra_list		=       LIST_HEAD_INIT(compress_null.cra_list), -	.cra_u			=	{ .compress = { -	.coa_compress 		=	null_compress, -	.coa_decompress		=	null_compress } } -}; -  static struct shash_alg digest_null = {  	.digestsize		=	NULL_DIGEST_SIZE,  	.setkey   		=	null_hash_setkey, @@ -122,22 +106,19 @@ static struct shash_alg digest_null = {  	}  }; -static struct crypto_alg cipher_null = { +static struct crypto_alg null_algs[3] = { {  	.cra_name		=	"cipher_null",  	.cra_flags		=	CRYPTO_ALG_TYPE_CIPHER,  	.cra_blocksize		=	NULL_BLOCK_SIZE,  	.cra_ctxsize		=	0,  	.cra_module		=	THIS_MODULE, -	.cra_list		=	LIST_HEAD_INIT(cipher_null.cra_list),  	.cra_u			=	{ .cipher = {  	.cia_min_keysize	=	NULL_KEY_SIZE,  	.cia_max_keysize	=	NULL_KEY_SIZE,  	.cia_setkey		= 	null_setkey,  	.cia_encrypt		=	null_crypt,  	.cia_decrypt		=	null_crypt } } -}; - -static struct crypto_alg skcipher_null = { +}, {  	.cra_name		=	"ecb(cipher_null)",  	.cra_driver_name	=	"ecb-cipher_null",  	.cra_priority		=	100, @@ -146,7 +127,6 @@ static struct crypto_alg skcipher_null = {  	.cra_type		=	&crypto_blkcipher_type,  	.cra_ctxsize		=	0,  	.cra_module		=	THIS_MODULE, -	.cra_list		=	LIST_HEAD_INIT(skcipher_null.cra_list),  	.cra_u			=	{ .blkcipher = {  	.min_keysize		=	NULL_KEY_SIZE,  	.max_keysize		=	NULL_KEY_SIZE, @@ -154,7 +134,16 @@ static struct crypto_alg skcipher_null = {  	.setkey			= 	null_setkey,  	.encrypt		=	skcipher_null_crypt,  	.decrypt		=	skcipher_null_crypt } } -}; +}, { +	.cra_name		=	"compress_null", +	.cra_flags		=	CRYPTO_ALG_TYPE_COMPRESS, +	.cra_blocksize		=	NULL_BLOCK_SIZE, +	.cra_ctxsize		=	0, +	.cra_module		=	THIS_MODULE, +	.cra_u			=	{ .compress = { +	.coa_compress		=	null_compress, +	.coa_decompress		=	null_compress } } +} };  MODULE_ALIAS("compress_null");  MODULE_ALIAS("digest_null"); @@ -164,40 +153,26 @@ static int __init crypto_null_mod_init(void)  {  	int ret = 0; -	ret = crypto_register_alg(&cipher_null); +	ret = crypto_register_algs(null_algs, ARRAY_SIZE(null_algs));  	if (ret < 0)  		goto out; -	ret = crypto_register_alg(&skcipher_null); -	if (ret < 0) -		goto out_unregister_cipher; -  	ret = crypto_register_shash(&digest_null);  	if (ret < 0) -		goto out_unregister_skcipher; +		goto out_unregister_algs; -	ret = crypto_register_alg(&compress_null); -	if (ret < 0) -		goto out_unregister_digest; +	return 0; +out_unregister_algs: +	crypto_unregister_algs(null_algs, ARRAY_SIZE(null_algs));  out:  	return ret; - -out_unregister_digest: -	crypto_unregister_shash(&digest_null); -out_unregister_skcipher: -	crypto_unregister_alg(&skcipher_null); -out_unregister_cipher: -	crypto_unregister_alg(&cipher_null); -	goto out;  }  static void __exit crypto_null_mod_fini(void)  { -	crypto_unregister_alg(&compress_null);  	crypto_unregister_shash(&digest_null); -	crypto_unregister_alg(&skcipher_null); -	crypto_unregister_alg(&cipher_null); +	crypto_unregister_algs(null_algs, ARRAY_SIZE(null_algs));  }  module_init(crypto_null_mod_init);  | 
