aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/crypto
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2016-10-10 10:15:14 -0700
committerHerbert Xu <herbert@gondor.apana.org.au>2016-10-21 11:03:42 +0800
commit48ee41bf5ba052364f78781e9082a510fbcd104a (patch)
tree5291b9991fd74328a05224b067fad95d89d16129 /crypto
parentcrypto: api - Remove no-op exit_ops code (diff)
downloadwireguard-linux-48ee41bf5ba052364f78781e9082a510fbcd104a.tar.xz
wireguard-linux-48ee41bf5ba052364f78781e9082a510fbcd104a.zip
crypto: cmac - return -EINVAL if block size is unsupported
cmac_create() previously returned 0 if a cipher with a block size other than 8 or 16 bytes was specified. It should return -EINVAL instead. Granted, this doesn't actually change any behavior because cryptomgr currently ignores any return value other than -EAGAIN from template ->create() functions. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/cmac.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/cmac.c b/crypto/cmac.c
index 7a8bfbd548f6..b6c4059764aa 100644
--- a/crypto/cmac.c
+++ b/crypto/cmac.c
@@ -243,6 +243,7 @@ static int cmac_create(struct crypto_template *tmpl, struct rtattr **tb)
case 8:
break;
default:
+ err = -EINVAL;
goto out_put_alg;
}