diff options
author | 2018-06-25 09:20:40 -0700 | |
---|---|---|
committer | 2018-06-25 09:20:40 -0700 | |
commit | 57b54d74dd5c559bd35f2affaf11d8828aaf5733 (patch) | |
tree | 025d99f0d6b298fbdbf3ce942ec7868131444090 /crypto/algapi.c | |
parent | MAINTAINERS: remove the outdated "LINUX SECURITY MODULE (LSM) FRAMEWORK" entry (diff) | |
parent | Linux 4.18-rc2 (diff) | |
download | linux-rng-57b54d74dd5c559bd35f2affaf11d8828aaf5733.tar.xz linux-rng-57b54d74dd5c559bd35f2affaf11d8828aaf5733.zip |
Merge tag 'v4.18-rc2' into next-general
Merge to Linux 4.18-rc2 for security subsystem developers.
Diffstat (limited to 'crypto/algapi.c')
-rw-r--r-- | crypto/algapi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crypto/algapi.c b/crypto/algapi.c index 2a0271b5f62a..c0755cf4f53f 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c @@ -10,6 +10,7 @@ * */ +#include <crypto/algapi.h> #include <linux/err.h> #include <linux/errno.h> #include <linux/fips.h> @@ -59,6 +60,15 @@ static int crypto_check_alg(struct crypto_alg *alg) if (alg->cra_blocksize > PAGE_SIZE / 8) return -EINVAL; + if (!alg->cra_type && (alg->cra_flags & CRYPTO_ALG_TYPE_MASK) == + CRYPTO_ALG_TYPE_CIPHER) { + if (alg->cra_alignmask > MAX_CIPHER_ALIGNMASK) + return -EINVAL; + + if (alg->cra_blocksize > MAX_CIPHER_BLOCKSIZE) + return -EINVAL; + } + if (alg->cra_priority < 0) return -EINVAL; |