On Tue, Sep 03, 2019 at 09:43:22AM -0700, Ard Biesheuvel wrote: > This is a collection of improvements for the ARM and arm64 implementations > of the AES based skciphers. > > NOTES: > - the last two patches add XTS ciphertext stealing test vectors and should > NOT be merged until all AES-XTS implementations have been confirmed to work > - tested for correctness [on both QEMU and actual hardware (via kernelci)] but > not for performance regressions > > The most important part of this series is the implementation of ciphertext > stealing support for the XTS skciphers. The CE and NEON bit slicing based > code for both ARM and arm64 is updated to handle inputs of any length >= the > XTS block size of 16 bytes. > > It also updates the arm64 CTS/CBC implementation not to use a request ctx > structure, and ports the resulting implementation to ARM as well. > > The remaining patches are cleanups and minor improvements in the 'ongoing > maintenance' category. None of these are -stable candidates AFAICT. > > Changes since v1: > - simply skcipher_walk_abort() - pass -ECANCELED instead of walk->nbytes into > skcipher_walk_done() so that the latter does not require any changes (#8) > - rebased onto cryptodev/master > > > Ard Biesheuvel (16): > crypto: arm/aes - fix round key prototypes > crypto: arm/aes-ce - yield the SIMD unit between scatterwalk steps > crypto: arm/aes-ce - switch to 4x interleave > crypto: arm/aes-ce - replace tweak mask literal with composition > crypto: arm/aes-neonbs - replace tweak mask literal with composition > crypto: arm64/aes-neonbs - replace tweak mask literal with composition > crypto: arm64/aes-neon - limit exposed routines if faster driver is > enabled > crypto: skcipher - add the ability to abort a skcipher walk > crypto: arm64/aes-cts-cbc-ce - performance tweak > crypto: arm64/aes-cts-cbc - move request context data to the stack > crypto: arm64/aes - implement support for XTS ciphertext stealing > crypto: arm64/aes-neonbs - implement ciphertext stealing for XTS > crypto: arm/aes-ce - implement ciphertext stealing for XTS > crypto: arm/aes-neonbs - implement ciphertext stealing for XTS > crypto: arm/aes-ce - implement ciphertext stealing for CBC > crypto: testmgr - add test vectors for XTS ciphertext stealing > > Pascal van Leeuwen (1): > crypto: testmgr - Add additional AES-XTS vectors for covering CTS > > arch/arm/crypto/aes-ce-core.S | 462 ++++++++++++++------ > arch/arm/crypto/aes-ce-glue.c | 377 +++++++++++++--- > arch/arm/crypto/aes-neonbs-core.S | 24 +- > arch/arm/crypto/aes-neonbs-glue.c | 91 +++- > arch/arm64/crypto/aes-ce.S | 3 + > arch/arm64/crypto/aes-glue.c | 299 ++++++++----- > arch/arm64/crypto/aes-modes.S | 107 ++++- > arch/arm64/crypto/aes-neon.S | 5 + > arch/arm64/crypto/aes-neonbs-core.S | 9 +- > arch/arm64/crypto/aes-neonbs-glue.c | 111 ++++- > crypto/testmgr.h | 368 ++++++++++++++++ > include/crypto/internal/skcipher.h | 5 + > 12 files changed, 1495 insertions(+), 366 deletions(-) Patches 1-15 applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt