Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: authenc - Add EINPROGRESS check
This commit is contained in:
@@ -46,6 +46,12 @@ struct authenc_request_ctx {
|
|||||||
char tail[];
|
char tail[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void authenc_request_complete(struct aead_request *req, int err)
|
||||||
|
{
|
||||||
|
if (err != -EINPROGRESS)
|
||||||
|
aead_request_complete(req, err);
|
||||||
|
}
|
||||||
|
|
||||||
static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key,
|
static int crypto_authenc_setkey(struct crypto_aead *authenc, const u8 *key,
|
||||||
unsigned int keylen)
|
unsigned int keylen)
|
||||||
{
|
{
|
||||||
@@ -142,7 +148,7 @@ static void authenc_geniv_ahash_update_done(struct crypto_async_request *areq,
|
|||||||
crypto_aead_authsize(authenc), 1);
|
crypto_aead_authsize(authenc), 1);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
aead_request_complete(req, err);
|
authenc_request_complete(req, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void authenc_geniv_ahash_done(struct crypto_async_request *areq, int err)
|
static void authenc_geniv_ahash_done(struct crypto_async_request *areq, int err)
|
||||||
@@ -208,7 +214,7 @@ static void authenc_verify_ahash_update_done(struct crypto_async_request *areq,
|
|||||||
err = crypto_ablkcipher_decrypt(abreq);
|
err = crypto_ablkcipher_decrypt(abreq);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
aead_request_complete(req, err);
|
authenc_request_complete(req, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void authenc_verify_ahash_done(struct crypto_async_request *areq,
|
static void authenc_verify_ahash_done(struct crypto_async_request *areq,
|
||||||
@@ -245,7 +251,7 @@ static void authenc_verify_ahash_done(struct crypto_async_request *areq,
|
|||||||
err = crypto_ablkcipher_decrypt(abreq);
|
err = crypto_ablkcipher_decrypt(abreq);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
aead_request_complete(req, err);
|
authenc_request_complete(req, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u8 *crypto_authenc_ahash_fb(struct aead_request *req, unsigned int flags)
|
static u8 *crypto_authenc_ahash_fb(struct aead_request *req, unsigned int flags)
|
||||||
@@ -379,7 +385,7 @@ static void crypto_authenc_encrypt_done(struct crypto_async_request *req,
|
|||||||
err = crypto_authenc_genicv(areq, iv, 0);
|
err = crypto_authenc_genicv(areq, iv, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
aead_request_complete(areq, err);
|
authenc_request_complete(areq, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int crypto_authenc_encrypt(struct aead_request *req)
|
static int crypto_authenc_encrypt(struct aead_request *req)
|
||||||
@@ -420,7 +426,7 @@ static void crypto_authenc_givencrypt_done(struct crypto_async_request *req,
|
|||||||
err = crypto_authenc_genicv(areq, greq->giv, 0);
|
err = crypto_authenc_genicv(areq, greq->giv, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
aead_request_complete(areq, err);
|
authenc_request_complete(areq, err);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int crypto_authenc_givencrypt(struct aead_givcrypt_request *req)
|
static int crypto_authenc_givencrypt(struct aead_givcrypt_request *req)
|
||||||
|
Reference in New Issue
Block a user