--- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -95,10 +95,10 @@ config CRYPTO_MANAGER config CRYPTO_MANAGER2 def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) - select CRYPTO_AEAD2 - select CRYPTO_HASH2 - select CRYPTO_BLKCIPHER2 - select CRYPTO_PCOMP2 + select CRYPTO_AEAD2 if !CRYPTO_MANAGER_DISABLE_TESTS + select CRYPTO_HASH2 if !CRYPTO_MANAGER_DISABLE_TESTS + select CRYPTO_BLKCIPHER2 if !CRYPTO_MANAGER_DISABLE_TESTS + select CRYPTO_PCOMP2 if !CRYPTO_MANAGER_DISABLE_TESTS config CRYPTO_USER tristate "Userspace cryptographic algorithm configuration" --- a/crypto/algboss.c +++ b/crypto/algboss.c @@ -248,6 +248,9 @@ static int cryptomgr_schedule_test(struc type = alg->cra_flags; /* This piece of crap needs to disappear into per-type test hooks. */ +#ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS + type |= CRYPTO_ALG_TESTED; +#else if ((!((type ^ CRYPTO_ALG_TYPE_BLKCIPHER) & CRYPTO_ALG_TYPE_BLKCIPHER_MASK) && !(type & CRYPTO_ALG_GENIV) && ((alg->cra_flags & CRYPTO_ALG_TYPE_MASK) == @@ -256,6 +259,7 @@ static int cryptomgr_schedule_test(struc (!((type ^ CRYPTO_ALG_TYPE_AEAD) & CRYPTO_ALG_TYPE_MASK) && alg->cra_type == &crypto_nivaead_type && alg->cra_aead.ivsize)) type |= CRYPTO_ALG_TESTED; +#endif param->type = type;