Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu: - XTS mode optimisation for twofish/cast6/camellia/aes on x86 - AVX2/x86_64 implementation for blowfish/twofish/serpent/camellia - SSSE3/AVX/AVX2 optimisations for sha256/sha512 - Added driver for SAHARA2 crypto accelerator - Fix for GMAC when used in non-IPsec secnarios - Added generic CMAC implementation (including IPsec glue) - IP update for crypto/atmel - Support for more than one device in hwrng/timeriomem - Added Broadcom BCM2835 RNG driver - Misc fixes * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (59 commits) crypto: caam - fix job ring cleanup code crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher crypto: tcrypt - add async cipher speed tests for blowfish crypto: testmgr - extend camellia test-vectors for camellia-aesni/avx2 crypto: aesni_intel - fix Kconfig problem with CRYPTO_GLUE_HELPER_X86 crypto: aesni_intel - add more optimized XTS mode for x86-64 crypto: x86/camellia-aesni-avx - add more optimized XTS code crypto: cast6-avx: use new optimized XTS code crypto: x86/twofish-avx - use optimized XTS code crypto: x86 - add more optimized XTS-mode for serpent-avx xfrm: add rfc4494 AES-CMAC-96 support crypto: add CMAC support to CryptoAPI crypto: testmgr - add empty test vectors for null ciphers crypto: testmgr - add AES GMAC test vectors crypto: gcm - fix rfc4543 to handle async crypto correctly crypto: gcm - make GMAC work when dst and src are different hwrng: timeriomem - added devicetree hooks ...
Šī revīzija ir iekļauta:
@@ -938,6 +938,7 @@ static int hash_dma_final(struct ahash_request *req)
|
||||
if (!ctx->device->dma.nents) {
|
||||
dev_err(device_data->dev, "[%s] "
|
||||
"ctx->device->dma.nents = 0", __func__);
|
||||
ret = ctx->device->dma.nents;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -945,6 +946,7 @@ static int hash_dma_final(struct ahash_request *req)
|
||||
if (bytes_written != req->nbytes) {
|
||||
dev_err(device_data->dev, "[%s] "
|
||||
"hash_dma_write() failed!", __func__);
|
||||
ret = bytes_written;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -1367,14 +1369,12 @@ static int hash_setkey(struct crypto_ahash *tfm,
|
||||
/**
|
||||
* Freed in final.
|
||||
*/
|
||||
ctx->key = kmalloc(keylen, GFP_KERNEL);
|
||||
ctx->key = kmemdup(key, keylen, GFP_KERNEL);
|
||||
if (!ctx->key) {
|
||||
pr_err(DEV_DBG_NAME " [%s] Failed to allocate ctx->key "
|
||||
"for %d\n", __func__, alg);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memcpy(ctx->key, key, keylen);
|
||||
ctx->keylen = keylen;
|
||||
|
||||
return ret;
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user