diff options
Diffstat (limited to 'src/crypto/zinc/curve25519')
-rw-r--r-- | src/crypto/zinc/curve25519/curve25519-arm-glue.c | 2 | ||||
-rw-r--r-- | src/crypto/zinc/curve25519/curve25519-x86_64-glue.c | 2 | ||||
-rw-r--r-- | src/crypto/zinc/curve25519/curve25519.c | 7 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/crypto/zinc/curve25519/curve25519-arm-glue.c b/src/crypto/zinc/curve25519/curve25519-arm-glue.c index cea06f3..c71c981 100644 --- a/src/crypto/zinc/curve25519/curve25519-arm-glue.c +++ b/src/crypto/zinc/curve25519/curve25519-arm-glue.c @@ -12,7 +12,7 @@ asmlinkage void curve25519_neon(u8 mypublic[CURVE25519_KEY_SIZE], const u8 basepoint[CURVE25519_KEY_SIZE]); static bool curve25519_use_neon __ro_after_init; - +static bool *const curve25519_nobs[] __initconst = { &curve25519_use_neon }; static void __init curve25519_fpu_init(void) { curve25519_use_neon = elf_hwcap & HWCAP_NEON; diff --git a/src/crypto/zinc/curve25519/curve25519-x86_64-glue.c b/src/crypto/zinc/curve25519/curve25519-x86_64-glue.c index 34ff1d8..a0e35bb 100644 --- a/src/crypto/zinc/curve25519/curve25519-x86_64-glue.c +++ b/src/crypto/zinc/curve25519/curve25519-x86_64-glue.c @@ -10,6 +10,8 @@ static bool curve25519_use_bmi2 __ro_after_init; static bool curve25519_use_adx __ro_after_init; +static bool *const curve25519_nobs[] __initconst = { + &curve25519_use_bmi2, &curve25519_use_adx }; static void __init curve25519_fpu_init(void) { diff --git a/src/crypto/zinc/curve25519/curve25519.c b/src/crypto/zinc/curve25519/curve25519.c index 5fd4040..64efa60 100644 --- a/src/crypto/zinc/curve25519/curve25519.c +++ b/src/crypto/zinc/curve25519/curve25519.c @@ -10,6 +10,7 @@ */ #include <zinc/curve25519.h> +#include "../selftest/run.h" #include <asm/unaligned.h> #include <linux/version.h> @@ -24,6 +25,7 @@ #elif defined(CONFIG_ZINC_ARCH_ARM) #include "curve25519-arm-glue.c" #else +static bool *const curve25519_nobs[] __initconst = { }; static void __init curve25519_fpu_init(void) { } @@ -98,10 +100,9 @@ static int __init mod_init(void) { if (!nosimd) curve25519_fpu_init(); -#ifdef CONFIG_ZINC_SELFTEST - if (WARN_ON(!curve25519_selftest())) + if (!selftest_run("curve25519", curve25519_selftest, curve25519_nobs, + ARRAY_SIZE(curve25519_nobs))) return -ENOTRECOVERABLE; -#endif return 0; } |