summaryrefslogtreecommitdiffstats
path: root/crypto/cmac.c
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2016-10-10 19:15:14 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2016-10-21 05:03:42 +0200
commit48ee41bf5ba052364f78781e9082a510fbcd104a (patch)
tree5291b9991fd74328a05224b067fad95d89d16129 /crypto/cmac.c
parentcrypto: api - Remove no-op exit_ops code (diff)
downloadlinux-48ee41bf5ba052364f78781e9082a510fbcd104a.tar.xz
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/cmac.c')
-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;
}