Commit bbc406b9d2de4182a4b2990efcd1754ae9e2c483

Authored by Jussi Kivilinna
Committed by Herbert Xu
1 parent 9935e6d2f3

crypto: serpent - 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>

Showing 1 changed file with 19 additions and 34 deletions Side-by-side Diff

crypto/serpent_generic.c
... ... @@ -567,24 +567,6 @@
567 567 __serpent_decrypt(ctx, dst, src);
568 568 }
569 569  
570   -static struct crypto_alg serpent_alg = {
571   - .cra_name = "serpent",
572   - .cra_driver_name = "serpent-generic",
573   - .cra_priority = 100,
574   - .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
575   - .cra_blocksize = SERPENT_BLOCK_SIZE,
576   - .cra_ctxsize = sizeof(struct serpent_ctx),
577   - .cra_alignmask = 3,
578   - .cra_module = THIS_MODULE,
579   - .cra_list = LIST_HEAD_INIT(serpent_alg.cra_list),
580   - .cra_u = { .cipher = {
581   - .cia_min_keysize = SERPENT_MIN_KEY_SIZE,
582   - .cia_max_keysize = SERPENT_MAX_KEY_SIZE,
583   - .cia_setkey = serpent_setkey,
584   - .cia_encrypt = serpent_encrypt,
585   - .cia_decrypt = serpent_decrypt } }
586   -};
587   -
588 570 static int tnepres_setkey(struct crypto_tfm *tfm, const u8 *key,
589 571 unsigned int keylen)
590 572 {
591 573  
592 574  
593 575  
594 576  
... ... @@ -637,41 +619,44 @@
637 619 d[3] = swab32(rd[0]);
638 620 }
639 621  
640   -static struct crypto_alg tnepres_alg = {
  622 +static struct crypto_alg srp_algs[2] = { {
  623 + .cra_name = "serpent",
  624 + .cra_driver_name = "serpent-generic",
  625 + .cra_priority = 100,
  626 + .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
  627 + .cra_blocksize = SERPENT_BLOCK_SIZE,
  628 + .cra_ctxsize = sizeof(struct serpent_ctx),
  629 + .cra_alignmask = 3,
  630 + .cra_module = THIS_MODULE,
  631 + .cra_u = { .cipher = {
  632 + .cia_min_keysize = SERPENT_MIN_KEY_SIZE,
  633 + .cia_max_keysize = SERPENT_MAX_KEY_SIZE,
  634 + .cia_setkey = serpent_setkey,
  635 + .cia_encrypt = serpent_encrypt,
  636 + .cia_decrypt = serpent_decrypt } }
  637 +}, {
641 638 .cra_name = "tnepres",
642 639 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
643 640 .cra_blocksize = SERPENT_BLOCK_SIZE,
644 641 .cra_ctxsize = sizeof(struct serpent_ctx),
645 642 .cra_alignmask = 3,
646 643 .cra_module = THIS_MODULE,
647   - .cra_list = LIST_HEAD_INIT(serpent_alg.cra_list),
648 644 .cra_u = { .cipher = {
649 645 .cia_min_keysize = SERPENT_MIN_KEY_SIZE,
650 646 .cia_max_keysize = SERPENT_MAX_KEY_SIZE,
651 647 .cia_setkey = tnepres_setkey,
652 648 .cia_encrypt = tnepres_encrypt,
653 649 .cia_decrypt = tnepres_decrypt } }
654   -};
  650 +} };
655 651  
656 652 static int __init serpent_mod_init(void)
657 653 {
658   - int ret = crypto_register_alg(&serpent_alg);
659   -
660   - if (ret)
661   - return ret;
662   -
663   - ret = crypto_register_alg(&tnepres_alg);
664   -
665   - if (ret)
666   - crypto_unregister_alg(&serpent_alg);
667   -
668   - return ret;
  654 + return crypto_register_algs(srp_algs, ARRAY_SIZE(srp_algs));
669 655 }
670 656  
671 657 static void __exit serpent_mod_fini(void)
672 658 {
673   - crypto_unregister_alg(&tnepres_alg);
674   - crypto_unregister_alg(&serpent_alg);
  659 + crypto_unregister_algs(srp_algs, ARRAY_SIZE(srp_algs));
675 660 }
676 661  
677 662 module_init(serpent_mod_init);