[PATCH v3 00/10] crypto: caam - xts(aes) updates

From: Andrei Botila
Date: Tue Sep 22 2020 - 12:04:03 EST


From: Andrei Botila <andrei.botila@xxxxxxx>

This patch series fixes some problems in CAAM's implementation of xts(aes):
- CAAM until Era 9 can't process XTS with 16B IV
- CAAM can only process in hardware XTS key lengths of 16B and 32B
- These hardware limitations are resolved through a fallback
- CAAM used to return 0 for XTS block length equal to zero

This patch series also adds a new feature in CAAM's xts(aes):
- CAAM is now able to process XTS with 16B IV in HW

Changes since v2:
- modified xts_skcipher_ivsize() based on comments
- squashed the previous 7-9/12 commits

Changes since v1:
- use only get_unaligned() for calculating XTS IV size
- fixed the double calling of crypto_skcipher_set_reqsize() in case of XTS
- added a patch which modifies the return value for XTS when block length
is equal to zero

Andrei Botila (10):
crypto: caam/jr - add fallback for XTS with more than 8B IV
crypto: caam/qi - add fallback for XTS with more than 8B IV
crypto: caam/qi2 - add fallback for XTS with more than 8B IV
crypto: caam/jr - add support for more XTS key lengths
crypto: caam/qi - add support for more XTS key lengths
crypto: caam/qi2 - add support for more XTS key lengths
crypto: caam - add xts check for block length equal to zero
crypto: caam/jr - add support for XTS with 16B IV
crypto: caam/qi - add support for XTS with 16B IV
crypto: caam/qi2 - add support for XTS with 16B IV

drivers/crypto/caam/Kconfig | 3 +
drivers/crypto/caam/caamalg.c | 94 +++++++++++++++++++++---
drivers/crypto/caam/caamalg_desc.c | 27 ++++---
drivers/crypto/caam/caamalg_qi.c | 94 +++++++++++++++++++++---
drivers/crypto/caam/caamalg_qi2.c | 111 ++++++++++++++++++++++++++---
drivers/crypto/caam/caamalg_qi2.h | 2 +
6 files changed, 293 insertions(+), 38 deletions(-)

--
2.17.1