2008-12-25 00:17:31

by Herbert Xu

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

Hi Linus:

Here is the crypto update for 2.6.29:

The main change is the introduction of the shash algorithm type.
It's meant to replace the existing hash type as the main interface
for synchronous hash operations. Its key feature is support for
simultaneous operations on a single tfm where previously multiple
tfm objects had to be allocated. A large chunk of the changes
here are simply conversions of existing hash algorithms to use
the new interface. In particular, the crc32c algorithm has been
converted, which means that the libcrc32c interface can now use
the crypto interface, giving it access to Intel's new CRC32C
instruction.

Apart from that there is the usual collection of bug fixes and
updates to algorithms and drivers.

Adrian-Ken Rueegsegger (10):
libcrc32c: Fix "crc32c undefined" compilation error
crypto: sha1 - Switch to shash
crypto: md4 - Switch to shash
crypto: md5 - Switch to shash
crypto: sha256 - Switch to shash
crypto: tgr192 - Switch to shash
crypto: wp512 - Switch to shash
crypto: michael_mic - Switch to shash
crypto: sha512 - Move message schedule W[80] to static percpu area
crypto: sha512 - Switch to shash

Evgeniy Polyakov (3):
crypto: hifn - Disable driver when physical size exceeds 32 bits
crypto: hifn_795x - Fix queue management
crypto: hifn_795x - Use softirq kernel mapping in bh context

Geert Uytterhoeven (2):
crypto: testmgr - Validate output length in (de)compression tests
crypto: testmgr - Correct comment about deflate parameters

Harvey Harrison (3):
crypto: camellia - use kernel-provided bitops, unaligned access
crypto: remove uses of __constant_{endian} helpers
crypto: salsa20 - Remove private wrappers around various operations

Herbert Xu (21):
crypto: padlock - Avoid resetting cword on successive operations
crypto: api - Move type exit function into crypto_tfm
crypto: api - Rebirth of crypto_alloc_tfm
crypto: hash - Add shash interface
crypto: hash - Export shash through ahash
crypto: hash - Add import/export interface
crypto: api - Call type show function before legacy for proc
crypto: hash - Export shash through hash
crypto: crc32c - Switch to shash
crypto: crc32c-intel - Switch to shash
crypto: crc32c - Test descriptor context format
libcrc32c: Move implementation to crypto crc32c
libcrc32c: Add crc32c_le macro
libcrc32c: Select CRYPTO in Kconfig
crypto: hash - Make setkey optional
crypto: null - Switch to shash
crypto: rmd128 - Switch to shash
crypto: rmd160 - Switch to shash
crypto: rmd256 - Switch to shash
crypto: rmd320 - Switch to shash
crypto: aes - Precompute tables

Ingo Molnar (1):
crypto: testmgr - Fix error flow of test_comp

Jarod Wilson (3):
crypto: ansi_cprng - Avoid incorrect extra call to _get_more_prng_bytes
crypto: ansi_cprng - fix inverted DT increment routine
crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set

Julia Lawall (1):
crypto: md4 - Use ARRAY_SIZE

Kent Liu (1):
crypto: crc32c-intel - Update copyright head

Kim Phillips (2):
crypto: talitos - Pass correct interrupt status to error handler
crypto: talitos - Perform auth check in h/w if on sec 2.1 and above

Lee Nipper (2):
crypto: talitos - Implement done interrupt mitigation
crypto: talitos - Ack done interrupt in isr instead of tasklet

Neil Horman (2):
crypto: testmgr - Trigger a panic when self test fails in FIPS mode
crypto: ansi_cprng - Allow resetting of DT value

Patrick McHardy (5):
crypto: hifn_795x - Fix DMA setup
crypto: hifn_795x - Don't copy src sg list
crypto: hifn_795x - Fix request context corruption
crypto: hifn_795x - Fix queue processing
crypto: hifn_795x - Remove some unused cruft

Vishnu Suresh (1):
crypto: talitos - Preempt overflow interrupts off-by-one fix

arch/x86/crypto/crc32c-intel.c | 121 +++---
crypto/Kconfig | 29 +-
crypto/Makefile | 1 +
crypto/aes_generic.c | 1145 ++++++++++++++++++++++++++++++++++++----
crypto/ahash.c | 38 ++-
crypto/ansi_cprng.c | 35 +-
crypto/api.c | 121 ++++-
crypto/authenc.c | 3 +
crypto/camellia.c | 84 ++--
crypto/crc32c.c | 290 ++++++-----
crypto/crypto_null.c | 64 ++-
crypto/des_generic.c | 5 +-
crypto/fcrypt.c | 8 +-
crypto/hmac.c | 10 +-
crypto/internal.h | 2 +
crypto/md4.c | 56 ++-
crypto/md5.c | 50 +-
crypto/michael_mic.c | 72 ++--
crypto/proc.c | 20 +-
crypto/rmd128.c | 61 ++-
crypto/rmd160.c | 61 ++-
crypto/rmd256.c | 61 ++-
crypto/rmd320.c | 61 ++-
crypto/salsa20_generic.c | 75 ++--
crypto/sha1_generic.c | 56 ++-
crypto/sha256_generic.c | 104 ++--
crypto/sha512_generic.c | 127 +++---
crypto/shash.c | 508 ++++++++++++++++++
crypto/testmgr.c | 76 +++-
crypto/testmgr.h | 2 +-
crypto/tgr192.c | 135 +++---
crypto/wp512.c | 121 +++--
drivers/crypto/hifn_795x.c | 494 ++++++++---------
drivers/crypto/padlock-aes.c | 52 ++-
drivers/crypto/talitos.c | 153 ++++--
drivers/crypto/talitos.h | 85 ++--
include/crypto/aes.h | 8 +-
include/crypto/algapi.h | 16 +-
include/crypto/hash.h | 125 +++++
include/crypto/internal/hash.h | 16 +-
include/linux/crc32c.h | 6 +-
include/linux/crypto.h | 10 +-
lib/Kconfig | 2 +
lib/libcrc32c.c | 182 ++------
44 files changed, 3331 insertions(+), 1420 deletions(-)
create mode 100644 crypto/shash.c

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt


2008-12-25 00:20:26

by Herbert Xu

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

Hi Linus:

Here is the crypto update for 2.6.29:

The main change is the introduction of the shash algorithm type.
It's meant to replace the existing hash type as the main interface
for synchronous hash operations. Its key feature is support for
simultaneous operations on a single tfm where previously multiple
tfm objects had to be allocated. A large chunk of the changes
here are simply conversions of existing hash algorithms to use
the new interface. In particular, the crc32c algorithm has been
converted, which means that the libcrc32c interface can now use
the crypto interface, giving it access to Intel's new CRC32C
instruction.

Apart from that there is the usual collection of bug fixes and
updates to algorithms and drivers.

Now with the pull location :)

Please pull from

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

or

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


Adrian-Ken Rueegsegger (10):
libcrc32c: Fix "crc32c undefined" compilation error
crypto: sha1 - Switch to shash
crypto: md4 - Switch to shash
crypto: md5 - Switch to shash
crypto: sha256 - Switch to shash
crypto: tgr192 - Switch to shash
crypto: wp512 - Switch to shash
crypto: michael_mic - Switch to shash
crypto: sha512 - Move message schedule W[80] to static percpu area
crypto: sha512 - Switch to shash

Evgeniy Polyakov (3):
crypto: hifn - Disable driver when physical size exceeds 32 bits
crypto: hifn_795x - Fix queue management
crypto: hifn_795x - Use softirq kernel mapping in bh context

Geert Uytterhoeven (2):
crypto: testmgr - Validate output length in (de)compression tests
crypto: testmgr - Correct comment about deflate parameters

Harvey Harrison (3):
crypto: camellia - use kernel-provided bitops, unaligned access
crypto: remove uses of __constant_{endian} helpers
crypto: salsa20 - Remove private wrappers around various operations

Herbert Xu (21):
crypto: padlock - Avoid resetting cword on successive operations
crypto: api - Move type exit function into crypto_tfm
crypto: api - Rebirth of crypto_alloc_tfm
crypto: hash - Add shash interface
crypto: hash - Export shash through ahash
crypto: hash - Add import/export interface
crypto: api - Call type show function before legacy for proc
crypto: hash - Export shash through hash
crypto: crc32c - Switch to shash
crypto: crc32c-intel - Switch to shash
crypto: crc32c - Test descriptor context format
libcrc32c: Move implementation to crypto crc32c
libcrc32c: Add crc32c_le macro
libcrc32c: Select CRYPTO in Kconfig
crypto: hash - Make setkey optional
crypto: null - Switch to shash
crypto: rmd128 - Switch to shash
crypto: rmd160 - Switch to shash
crypto: rmd256 - Switch to shash
crypto: rmd320 - Switch to shash
crypto: aes - Precompute tables

Ingo Molnar (1):
crypto: testmgr - Fix error flow of test_comp

Jarod Wilson (3):
crypto: ansi_cprng - Avoid incorrect extra call to _get_more_prng_bytes
crypto: ansi_cprng - fix inverted DT increment routine
crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set

Julia Lawall (1):
crypto: md4 - Use ARRAY_SIZE

Kent Liu (1):
crypto: crc32c-intel - Update copyright head

Kim Phillips (2):
crypto: talitos - Pass correct interrupt status to error handler
crypto: talitos - Perform auth check in h/w if on sec 2.1 and above

Lee Nipper (2):
crypto: talitos - Implement done interrupt mitigation
crypto: talitos - Ack done interrupt in isr instead of tasklet

Neil Horman (2):
crypto: testmgr - Trigger a panic when self test fails in FIPS mode
crypto: ansi_cprng - Allow resetting of DT value

Patrick McHardy (5):
crypto: hifn_795x - Fix DMA setup
crypto: hifn_795x - Don't copy src sg list
crypto: hifn_795x - Fix request context corruption
crypto: hifn_795x - Fix queue processing
crypto: hifn_795x - Remove some unused cruft

Vishnu Suresh (1):
crypto: talitos - Preempt overflow interrupts off-by-one fix

arch/x86/crypto/crc32c-intel.c | 121 +++---
crypto/Kconfig | 29 +-
crypto/Makefile | 1 +
crypto/aes_generic.c | 1145 ++++++++++++++++++++++++++++++++++++----
crypto/ahash.c | 38 ++-
crypto/ansi_cprng.c | 35 +-
crypto/api.c | 121 ++++-
crypto/authenc.c | 3 +
crypto/camellia.c | 84 ++--
crypto/crc32c.c | 290 ++++++-----
crypto/crypto_null.c | 64 ++-
crypto/des_generic.c | 5 +-
crypto/fcrypt.c | 8 +-
crypto/hmac.c | 10 +-
crypto/internal.h | 2 +
crypto/md4.c | 56 ++-
crypto/md5.c | 50 +-
crypto/michael_mic.c | 72 ++--
crypto/proc.c | 20 +-
crypto/rmd128.c | 61 ++-
crypto/rmd160.c | 61 ++-
crypto/rmd256.c | 61 ++-
crypto/rmd320.c | 61 ++-
crypto/salsa20_generic.c | 75 ++--
crypto/sha1_generic.c | 56 ++-
crypto/sha256_generic.c | 104 ++--
crypto/sha512_generic.c | 127 +++---
crypto/shash.c | 508 ++++++++++++++++++
crypto/testmgr.c | 76 +++-
crypto/testmgr.h | 2 +-
crypto/tgr192.c | 135 +++---
crypto/wp512.c | 121 +++--
drivers/crypto/hifn_795x.c | 494 ++++++++---------
drivers/crypto/padlock-aes.c | 52 ++-
drivers/crypto/talitos.c | 153 ++++--
drivers/crypto/talitos.h | 85 ++--
include/crypto/aes.h | 8 +-
include/crypto/algapi.h | 16 +-
include/crypto/hash.h | 125 +++++
include/crypto/internal/hash.h | 16 +-
include/linux/crc32c.h | 6 +-
include/linux/crypto.h | 10 +-
lib/Kconfig | 2 +
lib/libcrc32c.c | 182 ++------
44 files changed, 3331 insertions(+), 1420 deletions(-)
create mode 100644 crypto/shash.c

> Thanks,
> --
> Visit Openswan at http://www.openswan.org/
> Email: Herbert Xu ~{PmV>HI~} <[email protected]>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2009-03-24 04:49:44

by Herbert Xu

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

Hi Linus:

Here is the crypto update for 2.6.30:

* A new compression interface that supports "compress as you go".
- This includes a patch to move nlattr from net into lib.
* Support for the Intel AES instruction.
* More shash algorithm conversions.
* Multithreaded software crypto through cryptd.
* AMCC crypto driver.
* timeriomem RNG driver.
* Random fixes.

Please pull from

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

or

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


Adrian-Ken Rueegsegger (1):
crypto: Fix dead links

Alexander Clouter (1):
hwrng: timeriomem - New driver

Geert Uytterhoeven (5):
netlink: Move netlink attribute parsing support to lib
crypto: compress - Add pcomp interface
crypto: testmgr - Add support for the pcomp interface
crypto: zlib - New zlib crypto module, using pcomp
crypto: testmgr - add zlib test

Heiko Carstens (1):
hwrng: timeriomem - Breaks an allyesconfig build on s390:

Herbert Xu (10):
crypto: shash - Remove superfluous check in init_tfm
crypto: shash - Add crypto_shash_blocksize
crypto: sha-s390 - Switch to shash
crypto: api - crypto_alg_mod_lookup either tested or untested
crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention
crypto: skcipher - Avoid infinite loop when cipher fails selftest
crypto: aead - Avoid infinite loop when nivaead fails selftest
crypto: testmgr - Test skciphers with no IVs
nlattr: Fix build error with NET off
crypto: sha512-s390 - Add missing block size

Huang Ying (7):
crypto: aes - Move key_length in struct crypto_aes_ctx to be the last field
crypto: aes - Export x86 AES encrypt/decrypt functions
crypto: cryptd - Add support to access underlying blkcipher
crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform
crypto: api - Use dedicated workqueue for crypto subsystem
crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq
crypto: chainiv - Use kcrypto_wq instead of keventd_wq

James Hsiao (1):
crypto: amcc - Add crypt4xx driver

Neil Horman (3):
crypto: ansi_cprng - Force reset on allocation
crypto: ansi_cprng - Panic on CPRNG test failure when in FIPS mode
crypto: ansi_cprng - Add maintainer

MAINTAINERS | 6 +
arch/powerpc/boot/dts/canyonlands.dts | 7 +
arch/powerpc/boot/dts/kilauea.dts | 7 +
arch/s390/crypto/sha.h | 6 +-
arch/s390/crypto/sha1_s390.c | 40 +-
arch/s390/crypto/sha256_s390.c | 40 +-
arch/s390/crypto/sha512_s390.c | 81 +-
arch/s390/crypto/sha_common.c | 20 +-
arch/x86/crypto/Makefile | 3 +
arch/x86/crypto/aes-i586-asm_32.S | 18 +-
arch/x86/crypto/aes-x86_64-asm_64.S | 6 +-
arch/x86/crypto/aes_glue.c | 20 +-
arch/x86/crypto/aesni-intel_asm.S | 896 +++++++++++++++++++++
arch/x86/crypto/aesni-intel_glue.c | 461 +++++++++++
arch/x86/include/asm/aes.h | 11 +
arch/x86/include/asm/cpufeature.h | 1 +
crypto/Kconfig | 44 +
crypto/Makefile | 5 +
crypto/ablkcipher.c | 19 +
crypto/aead.c | 16 +
crypto/algboss.c | 20 +-
crypto/ansi_cprng.c | 17 +-
crypto/api.c | 17 +-
crypto/blkcipher.c | 2 +-
crypto/chainiv.c | 3 +-
crypto/cryptd.c | 237 +++---
crypto/crypto_wq.c | 38 +
crypto/gf128mul.c | 2 +-
crypto/internal.h | 6 +-
crypto/pcompress.c | 97 +++
crypto/sha256_generic.c | 2 +-
crypto/shash.c | 20 +-
crypto/tcrypt.c | 6 +-
crypto/testmgr.c | 198 +++++
crypto/testmgr.h | 147 ++++
crypto/zlib.c | 378 +++++++++
drivers/char/hw_random/Kconfig | 14 +
drivers/char/hw_random/Makefile | 1 +
drivers/char/hw_random/timeriomem-rng.c | 151 ++++
drivers/crypto/Kconfig | 15 +-
drivers/crypto/Makefile | 1 +
drivers/crypto/amcc/Makefile | 2 +
drivers/crypto/amcc/crypto4xx_alg.c | 293 +++++++
drivers/crypto/amcc/crypto4xx_core.c | 1310 +++++++++++++++++++++++++++++++
drivers/crypto/amcc/crypto4xx_core.h | 177 +++++
drivers/crypto/amcc/crypto4xx_reg_def.h | 284 +++++++
drivers/crypto/amcc/crypto4xx_sa.c | 108 +++
drivers/crypto/amcc/crypto4xx_sa.h | 243 ++++++
include/crypto/aes.h | 6 +-
include/crypto/compress.h | 145 ++++
include/crypto/cryptd.h | 27 +
include/crypto/crypto_wq.h | 7 +
include/crypto/hash.h | 5 +
include/crypto/internal/compress.h | 28 +
include/linux/crypto.h | 4 +-
include/linux/timeriomem-rng.h | 21 +
lib/Kconfig | 6 +
lib/Makefile | 2 +
net/netlink/attr.c => lib/nlattr.c | 20 +-
net/Kconfig | 1 +
net/netlink/Makefile | 2 +-
61 files changed, 5506 insertions(+), 264 deletions(-)
create mode 100644 arch/x86/crypto/aesni-intel_asm.S
create mode 100644 arch/x86/crypto/aesni-intel_glue.c
create mode 100644 arch/x86/include/asm/aes.h
create mode 100644 crypto/crypto_wq.c
create mode 100644 crypto/pcompress.c
create mode 100644 crypto/zlib.c
create mode 100644 drivers/char/hw_random/timeriomem-rng.c
create mode 100644 drivers/crypto/amcc/Makefile
create mode 100644 drivers/crypto/amcc/crypto4xx_alg.c
create mode 100644 drivers/crypto/amcc/crypto4xx_core.c
create mode 100644 drivers/crypto/amcc/crypto4xx_core.h
create mode 100644 drivers/crypto/amcc/crypto4xx_reg_def.h
create mode 100644 drivers/crypto/amcc/crypto4xx_sa.c
create mode 100644 drivers/crypto/amcc/crypto4xx_sa.h
create mode 100644 include/crypto/compress.h
create mode 100644 include/crypto/cryptd.h
create mode 100644 include/crypto/crypto_wq.h
create mode 100644 include/crypto/internal/compress.h
create mode 100644 include/linux/timeriomem-rng.h
rename net/netlink/attr.c => lib/nlattr.c (99%)

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2009-04-02 06:14:21

by Herbert Xu

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

Hi Linus:

This push fixes three bugs/regressions:

* IO address handling fix in timeriomem.
* Crash due to incorrect SG handling in ixp4xx.
* Crypto API (shash) bug that can lead to a CRC32C crash.

Please pull from

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

or

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


Alexander Clouter (1):
hwrng: timeriomem - Use phys address rather than virt

Christian Hohnstaedt (1):
crypto: ixp4xx - Fix handling of chained sg buffers

Yehuda Sadeh (1):
crypto: shash - Fix unaligned calculation with short length

crypto/shash.c | 3 +
drivers/char/hw_random/timeriomem-rng.c | 39 ++++++-
drivers/crypto/ixp4xx_crypto.c | 182 +++++++++++--------------------
include/linux/timeriomem-rng.h | 2 +-
4 files changed, 102 insertions(+), 124 deletions(-)

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2009-05-17 22:28:24

by Herbert Xu

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

Hi Linus:

This push fixes a few bugs/regressions:

* Check firmware before claiming algorithm support in ixp4xx.
* Fix autoloading of optimised AES modules.
* Fix eseqiv IV generation.

Please pull from

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

or

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


Christian Hohnstaedt (1):
crypto: ixp4xx - check firmware for crypto support

Herbert Xu (2):
crypto: api - Fix algorithm module auto-loading
crypto: padlock - Revert aes-all alias to aes

Steffen Klassert (1):
crypto: eseqiv - Fix IV generation for sync algorithms

crypto/api.c | 3 ++-
crypto/eseqiv.c | 3 ++-
drivers/crypto/ixp4xx_crypto.c | 33 ++++++++++++++++++++++++++++++++-
drivers/crypto/padlock-aes.c | 2 +-
4 files changed, 37 insertions(+), 4 deletions(-)

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

2009-05-31 13:12:45

by Herbert Xu

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

Hi Linus:

This push fixes a regression that triggers with SLAB debugging on,
where the new ahash code fails to handle sg entries that cross page
boundaries which are generated by kmalloc.

Please pull from

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

or

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


Herbert Xu (1):
crypto: hash - Fix handling of sg entry that crosses page boundary

crypto/ahash.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt