2014-01-23 11:53:30

by Herbert Xu

[permalink] [raw]
Subject: Crypto Update for 3.14

Hi Linus:

Here is the crypto update for 3.14:

* Improved crypto_memneq helper.
* Use cyprto_memneq in arch-specific crypto code.
* Replaced orphaned DCP driver with Freescale MXS DCP driver.
* Added AVX/AVX2 version of AESNI-GCM encode and decode.
* Added AMD Cryptographic Coprocessor (CCP) driver.
* Misc fixes.


Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git



Andy Shevchenko (1):
crypto: aesni - fix build on x86 (32bit)

Cesar Eduardo Barros (1):
crypto: more robust crypto_memneq

Daniel Borkmann (2):
crypto: memneq - fix for archs without efficient unaligned access
crypto: arch - use crypto_memneq instead of memcmp

Fengguang Wu (1):
crytpo: ccp - fix coccinelle warnings

Horia Geanta (2):
crypto: talitos - fix locating offending descriptor in error path
crypto: caam - simplify and harden key parsing

Lokesh Vutla (1):
crypto: omap-sham - Fix Polling mode for larger blocks

Marek Vasut (5):
crypto: ahash - Fully restore ahash request before completing
crypto: mxs - Remove the old DCP driver
crypto: mxs - Add Freescale MXS DCP driver
ARM: mxs: dts: Enable DCP for MXS
crypto: drivers - Sort drivers/crypto/Makefile

Mark A. Greer (1):
crypto: omap-sham - Only release DMA channel if successfully requested

Mathias Krause (2):
crypto: pcrypt - Fix wrong usage of rcu_dereference()
padata: Fix wrong usage of rcu_dereference()

Nishanth Menon (1):
crypto: omap-aes - add error check for pm_runtime_get_sync

Sachin Kamat (3):
crypto: crypto4xx - Remove redundant dev_set_drvdata
crypto: ccp - Remove redundant dev_set_drvdata
crypto: talitos - Remove redundant dev_set_drvdata

Tim Chen (3):
crypto: aesni - AVX and AVX2 version of AESNI-GCM encode and decode
crypto: tcrypt - Added speed tests for AEAD crypto alogrithms in tcrypt test suite
crypto: aesni - fix build on x86 (32bit)

Tom Lendacky (17):
crypto: ccp - CCP device driver and interface support
crypto: ccp - crypto API interface to the CCP device driver
crypto: ccp - CCP AES crypto API support
crypto: ccp - CCP AES CMAC mode crypto API support
crypto: ccp - CCP XTS-AES crypto API support
crypto: ccp - CCP SHA crypto API support
crytpo: ccp - CCP device driver build files
crypto: ccp - CCP maintainer information
crypto: ccp - Fix sparse warnings in ccp-crypto-sha.c
crypto: ccp - CCP Kconfig fixes
crypto: ccp - Remove user triggerable pr_err calls
crypto: ccp - Apply appropriate gfp_t type to memory allocations
crypto: ccp - Cleanup scatterlist usage
crypto: ccp - Check for caller result area before using it
crypto: ccp - Change data length declarations to u64
crypto: ccp - Cleanup hash invocation calls
crypto: ccp - CCP device enabled/disabled changes

Wei Yongjun (1):
crypto: mxs - Fix sparse non static symbol warning

.../devicetree/bindings/crypto/fsl-dcp.txt | 17 +
MAINTAINERS | 7 +
arch/arm/boot/dts/imx23.dtsi | 4 +-
arch/arm/boot/dts/imx28.dtsi | 3 +-
arch/s390/crypto/des_s390.c | 6 +-
arch/x86/crypto/Makefile | 1 +
arch/x86/crypto/aesni-intel_avx-x86_64.S | 2811 ++++++++++++++++++++
arch/x86/crypto/aesni-intel_glue.c | 147 +-
crypto/Makefile | 5 -
crypto/ahash.c | 5 +-
crypto/memneq.c | 80 +-
crypto/pcrypt.c | 2 +-
crypto/tcrypt.c | 270 ++
crypto/tcrypt.h | 10 +
drivers/crypto/Kconfig | 39 +-
drivers/crypto/Makefile | 33 +-
drivers/crypto/amcc/crypto4xx_core.c | 1 -
drivers/crypto/caam/caamalg.c | 36 +-
drivers/crypto/ccp/Kconfig | 24 +
drivers/crypto/ccp/Makefile | 10 +
drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 365 +++
drivers/crypto/ccp/ccp-crypto-aes-xts.c | 279 ++
drivers/crypto/ccp/ccp-crypto-aes.c | 369 +++
drivers/crypto/ccp/ccp-crypto-main.c | 432 +++
drivers/crypto/ccp/ccp-crypto-sha.c | 517 ++++
drivers/crypto/ccp/ccp-crypto.h | 197 ++
drivers/crypto/ccp/ccp-dev.c | 595 +++++
drivers/crypto/ccp/ccp-dev.h | 272 ++
drivers/crypto/ccp/ccp-ops.c | 2024 ++++++++++++++
drivers/crypto/ccp/ccp-pci.c | 361 +++
drivers/crypto/dcp.c | 903 -------
drivers/crypto/mxs-dcp.c | 1100 ++++++++
drivers/crypto/omap-aes.c | 16 +-
drivers/crypto/omap-sham.c | 19 +-
drivers/crypto/talitos.c | 23 +-
include/linux/ccp.h | 537 ++++
include/linux/compiler-gcc.h | 3 +
include/linux/compiler-intel.h | 7 +
include/linux/compiler.h | 4 +
kernel/padata.c | 2 +-
40 files changed, 10527 insertions(+), 1009 deletions(-)

Thanks,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


2014-04-01 10:00:13

by Herbert Xu

[permalink] [raw]
Subject: Crypto Update for 3.15

Hi Linus:

Here is the crypto update for 3.15:

* Added 3DES driver for OMAP4/AM43xx.
* Added AVX2 acceleration for SHA.
* Added hash-only AEAD algorithms in caam.
* Removed tegra driver as it is not functioning and the hardware is too slow.
* Allow blkcipher walks over AEAD (needed for ARM).
* Fixed unprotected FPU/SSE access in ghash-clmulni-intel.
* Fixed highmem crash in omap-sham.
* Add (zero entropy) randomness when initialising hardware RNGs.
* Fixed unaligned ahash comletion functions.
* Added soft module depedency for crc32c for initrds that use crc32c.


Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6.git



Alex Porosanu (1):
crypto: caam - fix ERA retrieval function

Alexander Shiyan (1):
crypto: sahara - Use return value of devm_request_irq() on error

Ard Biesheuvel (3):
crypto: remove direct blkcipher_walk dependency on transform
crypto: allow blkcipher walks over AEAD data
crypto: ghash-clmulni-intel - use C implementation for setkey()

Dan Carpenter (3):
hwrng: cleanup in hwrng_register()
crypto: remove a duplicate checks in __cbc_decrypt()
crypto: caam - writel() arguments are swapped

Dave Jones (1):
crypto: ccp - Fix ccp_run_passthru_cmd dma variable assignments

Fabio Estevam (3):
crypto: mxs-dcp: Use devm_kzalloc()
crypto: mxs-dcp: Check the return value of stmp_reset_block()
crypto: mxs-dcp - Fix platform_get_irq() error handling

Herbert Xu (1):
crypto: caam - Fix first parameter to caam_init_rng

Horia Geanta (5):
crypto: caam - remove error propagation handling
crypto: export NULL algorithms defines
crypto: testmgr - add aead null encryption test vectors
crypto: caam - add support for aead null encryption
crypto: caam - add missing key_dma unmap

Jingoo Han (14):
crypto: picoxcell - Use devm_ioremap_resource()
crypto: sahara - Use devm_ioremap_resource()
crypto: s5p-sss - Use devm_ioremap_resource()
hwrng: atmel - Use devm_ioremap_resource()
hwrng: pixocell - Use devm_ioremap_resource()
hwrng: atmel - Use devm_clk_get()
hwrng: omap3-rom - Use devm_clk_get()
hwrng: pixocell - Use devm_clk_get()
hwrng: nomadik - Use devm_*() functions
hwrng: timeriomem - Use devm_*() functions
crypto: omap-aes - Use SIMPLE_DEV_PM_OPS macro
crypto: omap-des - Use SIMPLE_DEV_PM_OPS macro
crypto: omap-sham - Use SIMPLE_DEV_PM_OPS macro
crypto: omap-des - make local functions static

Joel Fernandes (3):
crypto: omap-des - Add omap-des driver for OMAP4/AM43xx
crypto: omap-des - Add config and build options
crypto: omap-sham - Map SG pages if they are HIGHMEM before accessing

Kees Cook (1):
hwrng: add randomness to system from rng sources

Kevin Hao (1):
crypto: talitos: init the priv->alg_list more earlier in talitos_probe()

Marek Vasut (6):
crypto: dcp - Move the AES operation type from actx to rctx
crypto: mxs-dcp - Align the bounce buffers
crypto: mxs-dcp - Optimize hashing
crypto: hash - Fix the pointer voodoo in unaligned ahash
crypto: hash - Pull out the functions to save/restore request
crypto: hash - Simplify the ahash_finup implementation

Mathias Krause (3):
crypto: x86/sha1 - re-enable the AVX variant
crypto: x86/sha1 - fix stack alignment of AVX2 variant
crypto: x86/sha1 - reduce size of the AVX2 asm implementation

Nitesh Lal (2):
crypto: caam - Fix job ring discovery in controller driver
crypto: caam - Dynamic memory allocation for caam_rng_ctx object

Sonic Zhang (1):
crypt: bfin_crc - Remove useless SSYNC instruction and cache flush to DMA coherent memory

Stephen Warren (1):
crypto: tegra - remove driver

Tim Chen (2):
CRC32C: Add soft module dependency to load other accelerated crc32c modules
crypto: crypto_wq - Fix late crypto work queue initialization

Tom Lendacky (7):
crypto: ccp - Allow for selective disablement of crypto API algorithms
crypto: ccp - Move HMAC calculation down to ccp ops file
crypto: ccp - Use a single queue for proper ordering of tfm requests
crypto: ccp - Perform completion callbacks using a tasklet
crypto: ccp - Prevent a possible lost CCP command request
crypto: ccp - Invoke context callback when there is a backlog error
crypto: ccp - Account for CCP backlog processing

chandramouli narayanan (1):
crypto: sha - SHA1 transform x86_64 AVX2

arch/x86/crypto/Makefile | 3 +
arch/x86/crypto/blowfish_glue.c | 3 -
arch/x86/crypto/cast5_avx_glue.c | 3 -
arch/x86/crypto/ghash-clmulni-intel_asm.S | 29 -
arch/x86/crypto/ghash-clmulni-intel_glue.c | 14 +-
arch/x86/crypto/sha1_avx2_x86_64_asm.S | 708 ++++++++++++++++
arch/x86/crypto/sha1_ssse3_glue.c | 53 ++-
crypto/Kconfig | 4 +-
crypto/Makefile | 2 +-
crypto/ahash.c | 147 +++--
crypto/blkcipher.c | 81 ++-
crypto/{crc32c.c => crc32c_generic.c} | 2 +
crypto/crypto_null.c | 6 +-
crypto/crypto_wq.c | 2 +-
crypto/tcrypt.c | 8 +
crypto/testmgr.c | 32 +
crypto/testmgr.h | 180 ++++
drivers/char/hw_random/atmel-rng.c | 23 +-
drivers/char/hw_random/core.c | 17 +-
drivers/char/hw_random/nomadik-rng.c | 13 +-
drivers/char/hw_random/omap3-rom-rng.c | 3 +-
drivers/char/hw_random/picoxcell-rng.c | 27 +-
drivers/char/hw_random/timeriomem-rng.c | 40 +-
drivers/crypto/Kconfig | 22 +-
drivers/crypto/Makefile | 2 +-
drivers/crypto/bfin_crc.c | 45 +-
drivers/crypto/caam/caamalg.c | 384 ++++++++--
drivers/crypto/caam/caamrng.c | 17 +-
drivers/crypto/caam/compat.h | 1 +
drivers/crypto/caam/ctrl.c | 61 +-
drivers/crypto/caam/ctrl.h | 2 +-
drivers/crypto/caam/desc_constr.h | 27 +-
drivers/crypto/caam/regs.h | 4 +-
drivers/crypto/ccp/ccp-crypto-main.c | 224 ++---
drivers/crypto/ccp/ccp-crypto-sha.c | 130 +---
drivers/crypto/ccp/ccp-crypto.h | 8 +-
drivers/crypto/ccp/ccp-dev.c | 21 +-
drivers/crypto/ccp/ccp-ops.c | 108 +++-
drivers/crypto/mxs-dcp.c | 83 ++-
drivers/crypto/omap-aes.c | 4 +-
drivers/crypto/omap-des.c | 1216 ++++++++++++++++++++++++++++
drivers/crypto/omap-sham.c | 12 +-
drivers/crypto/picoxcell_crypto.c | 16 +-
drivers/crypto/s5p-sss.c | 13 +-
drivers/crypto/sahara.c | 26 +-
drivers/crypto/talitos.c | 4 +-
drivers/crypto/tegra-aes.c | 1087 -------------------------
drivers/crypto/tegra-aes.h | 103 ---
include/crypto/algapi.h | 9 +-
include/crypto/null.h | 11 +
include/linux/ccp.h | 7 +
51 files changed, 3140 insertions(+), 1907 deletions(-)

Thanks,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2014-06-05 06:23:52

by Herbert Xu

[permalink] [raw]
Subject: Crypto Update for 3.16

Hi Linus:

Here is the crypto update for 3.16:

* Added test vectors for SHA/AES-CCM/DES-CBC/3DES-CBC.
* Fixed a number of error-path memory leaks in tcrypt.
* Fixed error-path memory leak in caam.
* Removed unnecessary global mutex from mxs-dcp.
* Added ahash walk interface that can actually be asynchronous.
* Cleaned up caam error reporting.
* Allow crypto_user get operation to be used by non-root users.
* Add support for SSS module on Exynos.
* Misc fixes.


Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git


Alexander Gordeev (1):
crypto: ccp - Use pci_enable_msix_range() instead of pci_enable_msix()

Ard Biesheuvel (1):
crypto: testmgr - add test cases for SHA-1, SHA-224, SHA-256 and AES-CCM

Arnd Bergmann (1):
crypto: s5p-sss - fix multiplatform build

Christian Engelmayer (3):
crypto: tcrypt - Fix potential leak in test_aead_speed() if aad_size is too big
crypto: tcrypt - Fix potential leak in test_aead_speed() if crypto_alloc_aead() fails
crypto: tcrypt - Fix leak of struct aead_request in test_aead_speed()

Fabio Estevam (1):
crypto: mxs-dcp - Remove global mutex

Herbert Xu (2):
crypto: ghash-clmulni-intel - Use u128 instead of be128 for internal key
crypto: hash - Add real ahash walk interface

Himangi Saraogi (1):
hwrng: n2-drv - Introduce the use of the managed version of kzalloc

Horia Geanta (1):
crypto: caam - fix mem leak in ahash_setkey

Jean Delvare (3):
hwrng: Move UML_RANDOM at the last position
hwrng: Turn HW_RANDOM into a menuconfig
hwrng: Fix a few driver dependencies and defaults

Jingoo Han (3):
crypto: omap-des - use devm_ioremap_resource()
hwrng: omap - remove unnecessary OOM messages
hwrng: timeriomem - remove unnecessary OOM messages

Jussi Kivilinna (1):
crypto: testmgr - add empty and large test vectors for SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512

Leilei Zhao (2):
crypto: atmel-aes - correct block size of cfb8 mode
crypto: atmel-aes - check alignment of cfb64 mode

Marek Vasut (23):
crypto: caam - Contain caam_jr_strstatus() ugliness
crypto: caam - Pull all the error codes out
crypto: caam - Implement fast-path for error codes with no handler
crypto: caam - Pass error type into the functions
crypto: caam - Kill the easy targets
crypto: caam - Dissolve report_jump_idx()
crypto: caam - Clean up report_ccb_status()
crypto: caam - Clean up report_deco_status()
crypto: caam - Kill SPRINTFCAT() with fire
crypto: caam - Sweep the remnants
crypto: caam - Fix the 'quoted string split across lines'
crypto: geode - Kill AES_MIN_BLOCK_SIZE
crypto: geode - Kill AES_IV_LENGTH
crypto: geode - Consistently use AES_KEYSIZE_128
crypto: geode - Weed out printk() from probe()
crypto: geode - Don't use tfm->__crt_alg->cra_name directly
crypto: ccp - tfm->__crt_alg->cra_name directly
crypto: cesa - tfm->__crt_alg->cra_name directly
crypto: dcp - tfm->__crt_alg->cra_name directly
crypto: n2 - tfm->__crt_alg->cra_name directly
crypto: padlock - tfm->__crt_alg->cra_name directly
crypto: sahara - tfm->__crt_alg->cra_name directly
crypto: cesa - tfm->__crt_alg->cra_type directly

Matthias-Christian Ott (1):
crypto: user - Allow CRYPTO_MSG_GETALG without CAP_NET_ADMIN

Monam Agarwal (1):
crypto: nx - Use RCU_INIT_POINTER(x, NULL)

Naveen Krishna Chatradhi (7):
crypto: s5p-sss - Use platform_get_irq() instead of _byname()
crypto: s5p-sss - Add device tree support
crypto: s5p-sss - Add support for SSS module on Exynos
crypto: s5p-sss - Let Exynos SoCs select SSS driver
crypto: s5p-sss - validate iv before memcpy
crypto: s5p-sss - Use clk_prepare/clk_unprepare
crypto: s5p-sss - Look for the next request in the queue

Nishanth Menon (1):
crypto: omap-des - handle error of pm_runtime_get_sync

Nitesh Lal (1):
crypto: testmgr - add aead cbc des, des3_ede tests

Paul Bolle (1):
hwrng: picoxcell - remove unbuildable picoxcell TRNG

Sonic Zhang (3):
crypto: bfin_crc - access crc registers by readl and writel functions
crypto: bfin_crc - ignore duplicated registration of the same algorithm
cryptoo: bfin_crc - avoid get physical address of coherence memory by dma_map_single

Tadeusz Struk (1):
crypto: testmgr - Fix DMA-API warning

Vakul Garg (1):
crypto: caam - reinitialize keys_fit_inline for decrypt and givencrypt

.../devicetree/bindings/crypto/samsung-sss.txt | 34 +
arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 +-
arch/x86/crypto/ghash-clmulni-intel_glue.c | 12 +-
crypto/ahash.c | 41 +-
crypto/crypto_user.c | 12 +-
crypto/tcrypt.c | 52 +-
crypto/testmgr.c | 181 ++-
crypto/testmgr.h | 1441 +++++++++++++++++++-
drivers/char/hw_random/Kconfig | 103 +-
drivers/char/hw_random/Makefile | 1 -
drivers/char/hw_random/n2-drv.c | 24 +-
drivers/char/hw_random/omap-rng.c | 4 +-
drivers/char/hw_random/picoxcell-rng.c | 181 ---
drivers/char/hw_random/timeriomem-rng.c | 4 +-
drivers/crypto/Kconfig | 6 +-
drivers/crypto/atmel-aes.c | 8 +-
drivers/crypto/bfin_crc.c | 103 +-
.../include/asm => drivers/crypto}/bfin_crc.h | 0
drivers/crypto/caam/caamalg.c | 31 +-
drivers/crypto/caam/caamhash.c | 32 +-
drivers/crypto/caam/caamrng.c | 7 +-
drivers/crypto/caam/error.c | 389 +++---
drivers/crypto/caam/error.h | 2 +-
drivers/crypto/caam/key_gen.c | 7 +-
drivers/crypto/ccp/ccp-crypto-aes-xts.c | 4 +-
drivers/crypto/ccp/ccp-pci.c | 7 +-
drivers/crypto/geode-aes.c | 28 +-
drivers/crypto/geode-aes.h | 6 +-
drivers/crypto/mv_cesa.c | 6 +-
drivers/crypto/mxs-dcp.c | 52 +-
drivers/crypto/n2_core.c | 4 +-
drivers/crypto/nx/nx-842.c | 4 +-
drivers/crypto/omap-des.c | 33 +-
drivers/crypto/padlock-sha.c | 2 +-
drivers/crypto/s5p-sss.c | 148 +-
drivers/crypto/sahara.c | 2 +-
include/crypto/internal/hash.h | 13 +
37 files changed, 2245 insertions(+), 743 deletions(-)

Thanks,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2014-06-08 02:56:56

by Linus Torvalds

[permalink] [raw]
Subject: Re: Crypto Update for 3.16

On Wed, Jun 4, 2014 at 11:23 PM, Herbert Xu <[email protected]> wrote:
>
> Here is the crypto update for 3.16:

There's something odd going on with bfin_crc.h.

You moved it in commit 52e6e543f2d8 ("crypto: bfin_crc - access crc
registers by readl and writel functions").

It got *deleted* by commit 3356c99ea392 ("bfin_crc: Move architecture
independant crc header file out of the blackfin folder") which claims
to just move things.

Both of those commits are by Sonic Zhang, just came to me through two
different trees (though your crypto tree, and through Steven Miao's
bfin tree).

I'm assuming that the delete was actually incorrect, and should have
been a move, because it looks like the bfin_crc.c file won't compile
without it. So I've re-instated that file.

But the state of the bfin tree seems to be crap. Somebody should take
a look at what happened here. My suspicion is that commit 3356c99ea392
was broken by Steven Miao trying to only touch files in arch/blackfin
or something.

Linus

2014-06-08 04:56:14

by Herbert Xu

[permalink] [raw]
Subject: Re: Crypto Update for 3.16

On Sat, Jun 07, 2014 at 07:56:53PM -0700, Linus Torvalds wrote:
>
> I'm assuming that the delete was actually incorrect, and should have
> been a move, because it looks like the bfin_crc.c file won't compile
> without it. So I've re-instated that file.

Yes that would be my assumption as well.

Sonic/Steven, could you please double-check the current tree to see
whether it's in the right state?

Thanks,
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2014-06-09 01:47:31

by Steven Miao

[permalink] [raw]
Subject: Re: Crypto Update for 3.16

Hi Linus,

On Sun, Jun 8, 2014 at 10:56 AM, Linus Torvalds
<[email protected]> wrote:
> On Wed, Jun 4, 2014 at 11:23 PM, Herbert Xu <[email protected]> wrote:
>>
>> Here is the crypto update for 3.16:
>
> There's something odd going on with bfin_crc.h.
>
> You moved it in commit 52e6e543f2d8 ("crypto: bfin_crc - access crc
> registers by readl and writel functions").
>
> It got *deleted* by commit 3356c99ea392 ("bfin_crc: Move architecture
> independant crc header file out of the blackfin folder") which claims
> to just move things.
>
> Both of those commits are by Sonic Zhang, just came to me through two
> different trees (though your crypto tree, and through Steven Miao's
> bfin tree).
>
> I'm assuming that the delete was actually incorrect, and should have
> been a move, because it looks like the bfin_crc.c file won't compile
> without it. So I've re-instated that file.
>
> But the state of the bfin tree seems to be crap. Somebody should take
> a look at what happened here. My suspicion is that commit 3356c99ea392
> was broken by Steven Miao trying to only touch files in arch/blackfin
> or something.
Yes. I should be a move from arch/blackfin to drivers/crypto, sorry
for I only formating the arch/blackfin changes.
>
> Linus


-steven