diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2019-12-27 10:47:00 +0800 |
---|---|---|
committer | Eric Biggers <ebiggers@google.com> | 2019-12-31 10:33:51 -0600 |
commit | ede7a09fc8815011d67942e5b4a3cb1882b7bcd9 (patch) | |
tree | 87a534a8a1d507c5944811c4a6d1df4e4c57515d /fs/crypto | |
parent | e933adde6f97c4b51d39250c1dad0e89bd3fb1c7 (diff) | |
download | linux-ede7a09fc8815011d67942e5b4a3cb1882b7bcd9.tar.bz2 |
fscrypt: Allow modular crypto algorithms
The commit 643fa9612bf1 ("fscrypt: remove filesystem specific
build config option") removed modular support for fs/crypto. This
causes the Crypto API to be built-in whenever fscrypt is enabled.
This makes it very difficult for me to test modular builds of
the Crypto API without disabling fscrypt which is a pain.
As fscrypt is still evolving and it's developing new ties with the
fs layer, it's hard to build it as a module for now.
However, the actual algorithms are not required until a filesystem
is mounted. Therefore we can allow them to be built as modules.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Link: https://lore.kernel.org/r/20191227024700.7vrzuux32uyfdgum@gondor.apana.org.au
Signed-off-by: Eric Biggers <ebiggers@google.com>
Diffstat (limited to 'fs/crypto')
-rw-r--r-- | fs/crypto/Kconfig | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/fs/crypto/Kconfig b/fs/crypto/Kconfig index ff5a1746cbae..02df95b44331 100644 --- a/fs/crypto/Kconfig +++ b/fs/crypto/Kconfig @@ -2,13 +2,8 @@ config FS_ENCRYPTION bool "FS Encryption (Per-file encryption)" select CRYPTO - select CRYPTO_AES - select CRYPTO_CBC - select CRYPTO_ECB - select CRYPTO_XTS - select CRYPTO_CTS - select CRYPTO_SHA512 - select CRYPTO_HMAC + select CRYPTO_HASH + select CRYPTO_SKCIPHER select KEYS help Enable encryption of files and directories. This @@ -16,3 +11,15 @@ config FS_ENCRYPTION efficient since it avoids caching the encrypted and decrypted pages in the page cache. Currently Ext4, F2FS and UBIFS make use of this feature. + +# Filesystems supporting encryption must select this if FS_ENCRYPTION. This +# allows the algorithms to be built as modules when all the filesystems are. +config FS_ENCRYPTION_ALGS + tristate + select CRYPTO_AES + select CRYPTO_CBC + select CRYPTO_CTS + select CRYPTO_ECB + select CRYPTO_HMAC + select CRYPTO_SHA512 + select CRYPTO_XTS |