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(-) -- 2.17.1