diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-12-04 20:07:27 +1100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2008-01-11 08:16:32 +1100 |
commit | 45547f16489680fbbe7e7ae97bd148a993f9c11a (patch) | |
tree | 500a5af25aa0afa98184d7abb22c2dbbb85f73f9 | |
parent | 828d1e762a275605e4d98ab15e473e4ed84201ed (diff) | |
download | linux-crypto-45547f16489680fbbe7e7ae97bd148a993f9c11a.tar.gz linux-crypto-45547f16489680fbbe7e7ae97bd148a993f9c11a.zip |
[CRYPTO] aead: Return EBADMSG for ICV mismatch
This patch changes gcm/authenc to return EBADMSG instead of EINVAL for
ICV mismatches. This convention has already been adopted by IPsec.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r-- | crypto/authenc.c | 2 | ||||
-rw-r--r-- | crypto/gcm.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/crypto/authenc.c b/crypto/authenc.c index 82e03ffa..6c9104eb 100644 --- a/crypto/authenc.c +++ b/crypto/authenc.c @@ -200,7 +200,7 @@ auth_unlock: authsize = crypto_aead_authsize(authenc); scatterwalk_map_and_copy(ihash, src, cryptlen, authsize, 0); - return memcmp(ihash, ohash, authsize) ? -EINVAL : 0; + return memcmp(ihash, ohash, authsize) ? -EBADMSG: 0; } static void crypto_authenc_decrypt_done(struct crypto_async_request *req, diff --git a/crypto/gcm.c b/crypto/gcm.c index ed8a6261..d60c340b 100644 --- a/crypto/gcm.c +++ b/crypto/gcm.c @@ -327,7 +327,7 @@ static int crypto_gcm_decrypt(struct aead_request *req) scatterwalk_map_and_copy(iauth_tag, req->src, cryptlen, authsize, 0); if (memcmp(iauth_tag, auth_tag, authsize)) - return -EINVAL; + return -EBADMSG; return crypto_ablkcipher_decrypt(&abreq); } |