--- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -108,6 +108,10 @@ config CRYPTO_MANAGER_DISABLE_TESTS Disable run-time self tests that normally take place at algorithm registration. +config CRYPTO_MANAGER_NO_TESTS + bool "Disable internal testsuite to save space" + depends on CRYPTO_MANAGER + config CRYPTO_GF128MUL tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" help --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -65,6 +65,8 @@ int alg_test(const char *driver, const c #define ENCRYPT 1 #define DECRYPT 0 +#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS + struct tcrypt_result { struct completion completion; int err; @@ -2508,8 +2510,11 @@ static int alg_find_test(const char *alg return -1; } +#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */ + int alg_test(const char *driver, const char *alg, u32 type, u32 mask) { +#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS int i; int j; int rc; @@ -2564,6 +2569,9 @@ notest: return 0; non_fips_alg: return -EINVAL; +#else /* CONFIG_CRYPTO_MANAGER_NO_TESTS */ + return 0; +#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */ } #endif /* CONFIG_CRYPTO_MANAGER_DISABLE_TESTS */ --- a/crypto/testmgr.h +++ b/crypto/testmgr.h @@ -29,6 +29,8 @@ #include +#ifndef CONFIG_CRYPTO_MANAGER_NO_TESTS + #define MAX_DIGEST_SIZE 64 #define MAX_TAP 8 @@ -9969,4 +9971,6 @@ static struct hash_testvec crc32c_tv_tem }, }; +#endif /* CONFIG_CRYPTO_MANAGER_NO_TESTS */ + #endif /* _CRYPTO_TESTMGR_H */