[openwrt/openwrt] ltq-deu: init des/aes before registering crpyto algorithms

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 5 17:10:14 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/11d2c71538944ad55aca33d60d8bd442b8246ed6

commit 11d2c71538944ad55aca33d60d8bd442b8246ed6
Author: Mathias Kresin <dev at kresin.me>
AuthorDate: Mon Apr 19 20:36:58 2021 +0200

    ltq-deu: init des/aes before registering crpyto algorithms
    
    The crypto algorithms are registered and available to the system before
    the chip is actually powered on and the generic parameter for the DEU
    behaviour set.
    
    The issue can mainly be observed if the crypto manager tests are enabled
    in the kernel config. The crypto manager test run directly after an
    algorithm is registered.
    
    Signed-off-by: Mathias Kresin <dev at kresin.me>
    [fix commit title prefix]
    Signed-off-by: Daniel Kestrel <kestrel1974 at t-online.de>
---
 package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c | 3 +--
 package/kernel/lantiq/ltq-deu/src/ifxmips_des.c | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c b/package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c
index 76abfafb4e..7ce6df0ac6 100644
--- a/package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c
+++ b/package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c
@@ -894,6 +894,7 @@ int ifxdeu_init_aes (void)
 {
     int ret = -ENOSYS;
 
+    aes_chip_init();
 
     if ((ret = crypto_register_alg(&ifxdeu_aes_alg)))
         goto aes_err;
@@ -910,8 +911,6 @@ int ifxdeu_init_aes (void)
     if ((ret = crypto_register_alg(&ifxdeu_ctr_rfc3686_aes_alg)))
         goto ctr_rfc3686_aes_err;
 
-    aes_chip_init ();
-
     CRTCL_SECT_INIT;
 
 
diff --git a/package/kernel/lantiq/ltq-deu/src/ifxmips_des.c b/package/kernel/lantiq/ltq-deu/src/ifxmips_des.c
index 6d7d82fcb9..69a758c33c 100644
--- a/package/kernel/lantiq/ltq-deu/src/ifxmips_des.c
+++ b/package/kernel/lantiq/ltq-deu/src/ifxmips_des.c
@@ -690,6 +690,7 @@ int ifxdeu_init_des (void)
 {
     int ret = -ENOSYS;
 
+        des_chip_init();
 
         ret = crypto_register_alg(&ifxdeu_des_alg);
         if (ret < 0)
@@ -715,7 +716,6 @@ int ifxdeu_init_des (void)
         if (ret < 0)
                 goto cbc_des3_ede_err;
 
-        des_chip_init();
         CRTCL_SECT_INIT;
 
 



More information about the lede-commits mailing list