linux/drivers/crypto/amcc
Christian Lamparter 7e92e1717e crypto: crypto4xx - fix cfb and ofb "overran dst buffer" issues
Currently, crypto4xx CFB and OFB AES ciphers are
failing testmgr's test vectors.

|cfb-aes-ppc4xx encryption overran dst buffer on test vector 3, cfg="in-place"
|ofb-aes-ppc4xx encryption overran dst buffer on test vector 1, cfg="in-place"

This is because of a very subtile "bug" in the hardware that
gets indirectly mentioned in 18.1.3.5 Encryption/Decryption
of the hardware spec:

the OFB and CFB modes for AES are listed there as operation
modes for >>> "Block ciphers" <<<. Which kind of makes sense,
but we would like them to be considered as stream ciphers just
like the CTR mode.

To workaround this issue and stop the hardware from causing
"overran dst buffer" on crypttexts that are not a multiple
of 16 (AES_BLOCK_SIZE), we force the driver to use the scatter
buffers as the go-between.

As a bonus this patch also kills redundant pd_uinfo->num_gd
and pd_uinfo->num_sd setters since the value has already been
set before.

Cc: stable@vger.kernel.org
Fixes: f2a13e7cba ("crypto: crypto4xx - enable AES RFC3686, ECB, CFB and OFB offloads")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2019-05-03 14:03:29 +08:00
..
crypto4xx_alg.c crypto: crypto4xx - fix ctr-aes missing output IV 2019-05-03 14:03:28 +08:00
crypto4xx_core.c crypto: crypto4xx - fix cfb and ofb "overran dst buffer" issues 2019-05-03 14:03:29 +08:00
crypto4xx_core.h crypto: crypto4xx - add prng crypto support 2019-01-11 14:16:56 +08:00
crypto4xx_reg_def.h crypto: crypto4xx - add prng crypto support 2019-01-11 14:16:56 +08:00
crypto4xx_sa.h crypto: crypto4xx - prepare for AEAD support 2017-10-12 22:55:19 +08:00
crypto4xx_trng.c crypto: crypto4xx - add missing of_node_put after of_device_is_available 2019-02-28 14:37:35 +08:00
crypto4xx_trng.h crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments 2019-02-01 14:42:04 +08:00
Makefile crypto: crypto4xx - move and refactor dynamic_contents helpers 2017-09-22 17:43:18 +08:00