diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2008-12-10 07:29:44 -0500 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-12-10 07:29:44 -0500 |
commit | 6a0fcbb4dad15f02ca8f8ae6324fcd3fc43b9d35 (patch) | |
tree | 30bd7a1a6230e414d484bfee891af2bfcad0da93 /crypto/Kconfig | |
parent | 437f2f91d6597c67662f847d9ed4c99cb3c440cd (diff) |
crypto: api - Disallow cryptomgr as a module if algorithms are built-in
If we have at least one algorithm built-in then it no longer makes
sense to have the testing framework, and hence cryptomgr to be a
module. It should be either on or off, i.e., built-in or disabled.
This just happens to stop a potential runaway modprobe loop that
seems to trigger on at least one distro.
With fixes from Evgeniy Polyakov.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r-- | crypto/Kconfig | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 39dbd8e4dde1..dc20a34ba5ef 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig | |||
@@ -31,35 +31,63 @@ config CRYPTO_FIPS | |||
31 | 31 | ||
32 | config CRYPTO_ALGAPI | 32 | config CRYPTO_ALGAPI |
33 | tristate | 33 | tristate |
34 | select CRYPTO_ALGAPI2 | ||
34 | help | 35 | help |
35 | This option provides the API for cryptographic algorithms. | 36 | This option provides the API for cryptographic algorithms. |
36 | 37 | ||
38 | config CRYPTO_ALGAPI2 | ||
39 | tristate | ||
40 | |||
37 | config CRYPTO_AEAD | 41 | config CRYPTO_AEAD |
38 | tristate | 42 | tristate |
43 | select CRYPTO_AEAD2 | ||
39 | select CRYPTO_ALGAPI | 44 | select CRYPTO_ALGAPI |
40 | 45 | ||
46 | config CRYPTO_AEAD2 | ||
47 | tristate | ||
48 | select CRYPTO_ALGAPI2 | ||
49 | |||
41 | config CRYPTO_BLKCIPHER | 50 | config CRYPTO_BLKCIPHER |
42 | tristate | 51 | tristate |
52 | select CRYPTO_BLKCIPHER2 | ||
43 | select CRYPTO_ALGAPI | 53 | select CRYPTO_ALGAPI |
44 | select CRYPTO_RNG | 54 | |
55 | config CRYPTO_BLKCIPHER2 | ||
56 | tristate | ||
57 | select CRYPTO_ALGAPI2 | ||
58 | select CRYPTO_RNG2 | ||
45 | 59 | ||
46 | config CRYPTO_HASH | 60 | config CRYPTO_HASH |
47 | tristate | 61 | tristate |
62 | select CRYPTO_HASH2 | ||
48 | select CRYPTO_ALGAPI | 63 | select CRYPTO_ALGAPI |
49 | 64 | ||
65 | config CRYPTO_HASH2 | ||
66 | tristate | ||
67 | select CRYPTO_ALGAPI2 | ||
68 | |||
50 | config CRYPTO_RNG | 69 | config CRYPTO_RNG |
51 | tristate | 70 | tristate |
71 | select CRYPTO_RNG2 | ||
52 | select CRYPTO_ALGAPI | 72 | select CRYPTO_ALGAPI |
53 | 73 | ||
74 | config CRYPTO_RNG2 | ||
75 | tristate | ||
76 | select CRYPTO_ALGAPI2 | ||
77 | |||
54 | config CRYPTO_MANAGER | 78 | config CRYPTO_MANAGER |
55 | tristate "Cryptographic algorithm manager" | 79 | tristate "Cryptographic algorithm manager" |
56 | select CRYPTO_AEAD | 80 | select CRYPTO_MANAGER2 |
57 | select CRYPTO_HASH | ||
58 | select CRYPTO_BLKCIPHER | ||
59 | help | 81 | help |
60 | Create default cryptographic template instantiations such as | 82 | Create default cryptographic template instantiations such as |
61 | cbc(aes). | 83 | cbc(aes). |
62 | 84 | ||
85 | config CRYPTO_MANAGER2 | ||
86 | def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y) | ||
87 | select CRYPTO_AEAD2 | ||
88 | select CRYPTO_HASH2 | ||
89 | select CRYPTO_BLKCIPHER2 | ||
90 | |||
63 | config CRYPTO_GF128MUL | 91 | config CRYPTO_GF128MUL |
64 | tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" | 92 | tristate "GF(2^128) multiplication functions (EXPERIMENTAL)" |
65 | depends on EXPERIMENTAL | 93 | depends on EXPERIMENTAL |