linux/arch/s390
Eric Biggers a208fa8f33 crypto: hash - annotate algorithms taking optional key
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.

Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-01-12 23:03:35 +11:00
..
appldata s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
boot s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
configs s390: Remove CONFIG_HARDENED_USERCOPY 2017-11-16 13:12:21 +01:00
crypto crypto: hash - annotate algorithms taking optional key 2018-01-12 23:03:35 +11:00
hypfs s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-12-08 13:32:44 -08:00
kernel s390: fix compat system call table 2017-12-07 07:49:46 +01:00
kvm KVM: s390: Fixes for 4.15 2017-12-06 15:55:44 +01:00
lib s390/spinlock: fix indentation 2017-11-14 22:07:58 +01:00
mm s390/mm: fix off-by-one bug in 5-level page table handling 2017-12-05 07:51:09 +01:00
net s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
numa s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
tools s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
defconfig s390: update defconfig 2017-10-16 08:19:28 +02:00
Kbuild s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
Kconfig s390/perf: add perf_regs support and user stack dump 2017-11-16 15:06:11 +01:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile s390: Remove redundant license text 2017-11-24 15:37:24 +01:00