fscrypt: remove selection of CONFIG_CRYPTO_SHA256
authorEric Biggers <ebiggers@google.com>
Thu, 20 Jun 2019 18:15:05 +0000 (11:15 -0700)
committerEric Biggers <ebiggers@google.com>
Thu, 27 Jun 2019 17:29:33 +0000 (10:29 -0700)
commitadbd9b4dee70c36eaa30ce93ffcd968533044efc
treeb8b36e39ba4b6cd44fc490efe373f17190cc9caf
parent0bb06cac060dd033153277a0d9dab9fd8aa455a2
fscrypt: remove selection of CONFIG_CRYPTO_SHA256

fscrypt only uses SHA-256 for AES-128-CBC-ESSIV, which isn't the default
and is only recommended on platforms that have hardware accelerated
AES-CBC but not AES-XTS.  There's no link-time dependency, since SHA-256
is requested via the crypto API on first use.

To reduce bloat, we should limit FS_ENCRYPTION to selecting the default
algorithms only.  SHA-256 by itself isn't that much bloat, but it's
being discussed to move ESSIV into a crypto API template, which would
incidentally bring in other things like "authenc" support, which would
all end up being built-in since FS_ENCRYPTION is now a bool.

For Adiantum encryption we already just document that users who want to
use it have to enable CONFIG_CRYPTO_ADIANTUM themselves.  So, let's do
the same for AES-128-CBC-ESSIV and CONFIG_CRYPTO_SHA256.

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Documentation/filesystems/fscrypt.rst
fs/crypto/Kconfig