diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2019-12-27 03:47:00 +0100 |
---|---|---|
committer | Eric Biggers <ebiggers@google.com> | 2019-12-31 17:33:51 +0100 |
commit | ede7a09fc8815011d67942e5b4a3cb1882b7bcd9 (patch) | |
tree | 87a534a8a1d507c5944811c4a6d1df4e4c57515d /fs/crypto | |
parent | fscrypt: include <linux/ioctl.h> in UAPI header (diff) | |
download | linux-ede7a09fc8815011d67942e5b4a3cb1882b7bcd9.tar.xz linux-ede7a09fc8815011d67942e5b4a3cb1882b7bcd9.zip |
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 |