android_kernel_samsung_msm8976/drivers/crypto
Eric Biggers 79bd202987 crypto: hash - annotate algorithms taking optional key
commit a208fa8f33031b9e0aba44c7d1b7e68eb0cbd29e upstream.

We need to consistently enforce that keyed hashes cannot be used without
setting the key.  To do this we need a reliable way to determine whether
a given hash algorithm is keyed or not.  AF_ALG currently does this by
checking for the presence of a ->setkey() method.  However, this is
actually slightly broken because the CRC-32 algorithms implement
->setkey() but can also be used without a key.  (The CRC-32 "key" is not
actually a cryptographic key but rather represents the initial state.
If not overridden, then a default initial state is used.)

Prepare to fix this by introducing a flag CRYPTO_ALG_OPTIONAL_KEY which
indicates that the algorithm has a ->setkey() method, but it is not
required to be called.  Then set it on all the CRC-32 algorithms.

The same also applies to the Adler-32 implementation in Lustre.

Also, the cryptd and mcryptd templates have to pass through the flag
from their underlying algorithm.

Change-Id: Ie0547047b828f276d967e8979cd9176e57c99ac8
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[bwh: Backported to 3.2:
 - Drop changes to nonexistent drivers
 - There's no CRYPTO_ALG_INTERNAL flag
 - Adjust filenames]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2019-07-27 21:49:17 +02:00
..
amcc
caam crypto: caam - fix signals handling 2019-07-27 21:44:38 +02:00
msm Merge tag 'LA.BR.1.3.6-05010-8976.0' of https://source.codeaurora.org/quic/la/kernel/msm-3.10 into cm-14.1-merge 2017-11-22 00:26:48 +01:00
nx crypto: nx - off by one bug in nx_of_update_msc() 2019-07-27 21:42:02 +02:00
ux500 crypto: ux500 - memmove the right size 2019-07-27 21:41:53 +02:00
Kconfig msm: crypto: Add CONFIG_FIPS_USE_RECOMPILE for FIPS enablement 2015-06-01 09:54:09 -07:00
Makefile
atmel-aes-regs.h
atmel-aes.c
atmel-sha-regs.h
atmel-sha.c
atmel-tdes-regs.h
atmel-tdes.c
bfin_crc.c crypto: hash - annotate algorithms taking optional key 2019-07-27 21:49:17 +02:00
geode-aes.c
geode-aes.h
hifn_795x.c
ixp4xx_crypto.c crypto: ixp4xx - Remove bogus BUG_ON on scattered dst buffer 2015-08-16 20:51:39 -07:00
mv_cesa.c
mv_cesa.h
n2_asm.S
n2_core.c crypto: n2 - cure use after free 2019-07-27 21:46:21 +02:00
n2_core.h
omap-aes.c
omap-sham.c
padlock-aes.c crypto: prefix module autoloading with "crypto-" 2015-01-29 17:40:57 -08:00
padlock-sha.c crypto: prefix module autoloading with "crypto-" 2015-01-29 17:40:57 -08:00
picoxcell_crypto.c
picoxcell_crypto_regs.h
s5p-sss.c
sahara.c
talitos.c crypto: talitos - fix sha224 2019-07-27 21:45:28 +02:00
talitos.h
tegra-aes.c
tegra-aes.h