summary refs log tree commit diff
path: root/crypto/cmac.c
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/cmac.c
parent9c8ae17bbf416d837b81be7820d6d210d8353262 (diff)
downloadlinux-48ee41bf5ba052364f78781e9082a510fbcd104a.tar.gz
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;
 	}