crypto: tea - 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>
This commit is contained in:
parent
2d53492620
commit
738206d325
41
crypto/tea.c
41
crypto/tea.c
|
@ -219,84 +219,55 @@ static void xeta_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
|
||||||
out[1] = cpu_to_le32(z);
|
out[1] = cpu_to_le32(z);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct crypto_alg tea_alg = {
|
static struct crypto_alg tea_algs[3] = { {
|
||||||
.cra_name = "tea",
|
.cra_name = "tea",
|
||||||
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
||||||
.cra_blocksize = TEA_BLOCK_SIZE,
|
.cra_blocksize = TEA_BLOCK_SIZE,
|
||||||
.cra_ctxsize = sizeof (struct tea_ctx),
|
.cra_ctxsize = sizeof (struct tea_ctx),
|
||||||
.cra_alignmask = 3,
|
.cra_alignmask = 3,
|
||||||
.cra_module = THIS_MODULE,
|
.cra_module = THIS_MODULE,
|
||||||
.cra_list = LIST_HEAD_INIT(tea_alg.cra_list),
|
|
||||||
.cra_u = { .cipher = {
|
.cra_u = { .cipher = {
|
||||||
.cia_min_keysize = TEA_KEY_SIZE,
|
.cia_min_keysize = TEA_KEY_SIZE,
|
||||||
.cia_max_keysize = TEA_KEY_SIZE,
|
.cia_max_keysize = TEA_KEY_SIZE,
|
||||||
.cia_setkey = tea_setkey,
|
.cia_setkey = tea_setkey,
|
||||||
.cia_encrypt = tea_encrypt,
|
.cia_encrypt = tea_encrypt,
|
||||||
.cia_decrypt = tea_decrypt } }
|
.cia_decrypt = tea_decrypt } }
|
||||||
};
|
}, {
|
||||||
|
|
||||||
static struct crypto_alg xtea_alg = {
|
|
||||||
.cra_name = "xtea",
|
.cra_name = "xtea",
|
||||||
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
||||||
.cra_blocksize = XTEA_BLOCK_SIZE,
|
.cra_blocksize = XTEA_BLOCK_SIZE,
|
||||||
.cra_ctxsize = sizeof (struct xtea_ctx),
|
.cra_ctxsize = sizeof (struct xtea_ctx),
|
||||||
.cra_alignmask = 3,
|
.cra_alignmask = 3,
|
||||||
.cra_module = THIS_MODULE,
|
.cra_module = THIS_MODULE,
|
||||||
.cra_list = LIST_HEAD_INIT(xtea_alg.cra_list),
|
|
||||||
.cra_u = { .cipher = {
|
.cra_u = { .cipher = {
|
||||||
.cia_min_keysize = XTEA_KEY_SIZE,
|
.cia_min_keysize = XTEA_KEY_SIZE,
|
||||||
.cia_max_keysize = XTEA_KEY_SIZE,
|
.cia_max_keysize = XTEA_KEY_SIZE,
|
||||||
.cia_setkey = xtea_setkey,
|
.cia_setkey = xtea_setkey,
|
||||||
.cia_encrypt = xtea_encrypt,
|
.cia_encrypt = xtea_encrypt,
|
||||||
.cia_decrypt = xtea_decrypt } }
|
.cia_decrypt = xtea_decrypt } }
|
||||||
};
|
}, {
|
||||||
|
|
||||||
static struct crypto_alg xeta_alg = {
|
|
||||||
.cra_name = "xeta",
|
.cra_name = "xeta",
|
||||||
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
|
||||||
.cra_blocksize = XTEA_BLOCK_SIZE,
|
.cra_blocksize = XTEA_BLOCK_SIZE,
|
||||||
.cra_ctxsize = sizeof (struct xtea_ctx),
|
.cra_ctxsize = sizeof (struct xtea_ctx),
|
||||||
.cra_alignmask = 3,
|
.cra_alignmask = 3,
|
||||||
.cra_module = THIS_MODULE,
|
.cra_module = THIS_MODULE,
|
||||||
.cra_list = LIST_HEAD_INIT(xtea_alg.cra_list),
|
|
||||||
.cra_u = { .cipher = {
|
.cra_u = { .cipher = {
|
||||||
.cia_min_keysize = XTEA_KEY_SIZE,
|
.cia_min_keysize = XTEA_KEY_SIZE,
|
||||||
.cia_max_keysize = XTEA_KEY_SIZE,
|
.cia_max_keysize = XTEA_KEY_SIZE,
|
||||||
.cia_setkey = xtea_setkey,
|
.cia_setkey = xtea_setkey,
|
||||||
.cia_encrypt = xeta_encrypt,
|
.cia_encrypt = xeta_encrypt,
|
||||||
.cia_decrypt = xeta_decrypt } }
|
.cia_decrypt = xeta_decrypt } }
|
||||||
};
|
} };
|
||||||
|
|
||||||
static int __init tea_mod_init(void)
|
static int __init tea_mod_init(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
return crypto_register_algs(tea_algs, ARRAY_SIZE(tea_algs));
|
||||||
|
|
||||||
ret = crypto_register_alg(&tea_alg);
|
|
||||||
if (ret < 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
ret = crypto_register_alg(&xtea_alg);
|
|
||||||
if (ret < 0) {
|
|
||||||
crypto_unregister_alg(&tea_alg);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = crypto_register_alg(&xeta_alg);
|
|
||||||
if (ret < 0) {
|
|
||||||
crypto_unregister_alg(&tea_alg);
|
|
||||||
crypto_unregister_alg(&xtea_alg);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
out:
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit tea_mod_fini(void)
|
static void __exit tea_mod_fini(void)
|
||||||
{
|
{
|
||||||
crypto_unregister_alg(&tea_alg);
|
crypto_unregister_algs(tea_algs, ARRAY_SIZE(tea_algs));
|
||||||
crypto_unregister_alg(&xtea_alg);
|
|
||||||
crypto_unregister_alg(&xeta_alg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_ALIAS("xtea");
|
MODULE_ALIAS("xtea");
|
||||||
|
|
Reference in New Issue