Browse Source

linuxkm/module_hooks.c: wc_SetSeed_Cb(wc_GenerateSeed) in wolfssl_init() #ifdef WC_RNG_SEED, regardless of whether wolfcrypt_test() will be called.

Daniel Pouzzner 1 year ago
parent
commit
aecb37c032
1 changed files with 11 additions and 8 deletions
  1. 11 8
      linuxkm/module_hooks.c

+ 11 - 8
linuxkm/module_hooks.c

@@ -234,6 +234,16 @@ static int wolfssl_init(void)
             "] POST succeeded.\n");
 #endif /* HAVE_FIPS */
 
+#ifdef WC_RNG_SEED_CB
+    ret = wc_SetSeed_Cb(wc_GenerateSeed);
+    if (ret < 0) {
+        pr_err("wc_SetSeed_Cb() failed with return code %d.\n", ret);
+        (void)libwolfssl_cleanup();
+        msleep(10);
+        return -ECANCELED;
+    }
+#endif
+
 #ifdef WOLFCRYPT_ONLY
     ret = wolfCrypt_Init();
     if (ret != 0) {
@@ -249,14 +259,7 @@ static int wolfssl_init(void)
 #endif
 
 #ifndef NO_CRYPT_TEST
-
-#ifdef WC_RNG_SEED_CB
-    ret = wc_SetSeed_Cb(wc_GenerateSeed);
-    if (ret == 0)
-#endif
-    {
-        ret = wolfcrypt_test(NULL);
-    }
+    ret = wolfcrypt_test(NULL);
     if (ret < 0) {
         pr_err("wolfcrypt self-test failed with return code %d.\n", ret);
         (void)libwolfssl_cleanup();