linux/drivers/crypto
David Gstir 854b06f768 crypto: caam - properly set IV after {en,de}crypt
Certain cipher modes like CTS expect the IV (req->info) of
ablkcipher_request (or equivalently req->iv of skcipher_request) to
contain the last ciphertext block when the {en,de}crypt operation is done.
This is currently not the case for the CAAM driver which in turn breaks
e.g. cts(cbc(aes)) when the CAAM driver is enabled.

This patch fixes the CAAM driver to properly set the IV after the
{en,de}crypt operation of ablkcipher finishes.

This issue was revealed by the changes in the SW CTS mode in commit
0605c41cc5 ("crypto: cts - Convert to skcipher")

Cc: <stable@vger.kernel.org> # 4.8+
Signed-off-by: David Gstir <david@sigma-star.at>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-07-12 18:38:07 +08:00
..
amcc crypto: crypto4xx - fix an error code 2017-06-20 11:21:14 +08:00
bcm crypto: brcm - fix spelling mistake: "fallbck" -> "fallback" 2017-06-19 14:19:52 +08:00
caam crypto: caam - properly set IV after {en,de}crypt 2017-07-12 18:38:07 +08:00
cavium crypto: cavium/nitrox - dma_mapping_error() returns bool 2017-06-22 16:54:08 +08:00
ccp crypto: ccp - Release locks before returning 2017-06-22 16:54:09 +08:00
chelsio crypto: chcr - Select device in Round Robin fashion 2017-06-20 11:21:40 +08:00
inside-secure crypto: inside-secure - use the base_end pointer in ring rollback 2017-06-20 11:21:48 +08:00
marvell crypto: marvell - Use IPAD/OPAD constant 2017-05-23 12:52:07 +08:00
mediatek crypto: mediatek - drop .owner field in mtk_crypto_driver 2017-06-19 14:11:50 +08:00
nx crypto: nx - drop duplicate header types.h 2016-11-17 23:34:55 +08:00
qat crypto: qat - comply with crypto_akcipher_maxsize() 2017-06-10 12:04:31 +08:00
qce crypto: qce - Use skcipher for fallback 2016-07-01 23:45:09 +08:00
rockchip crypto: rockchip - use devm_add_action_or_reset() 2016-08-24 21:07:11 +08:00
stm32 crypto: stm32 - Fix OF module alias information 2017-04-30 01:45:21 +08:00
sunxi-ss crypto: sun4i-ss - fix large block size support 2017-06-19 14:19:52 +08:00
ux500 scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
virtio virtio: wrap find_vqs 2017-05-02 23:41:42 +03:00
vmx crypto: vmx - remove unnecessary check 2017-06-20 11:21:49 +08:00
atmel-aes-regs.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-aes.c crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-authenc.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-sha-regs.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-sha.c crypto: atmel - only treat EBUSY as transient if backlog 2017-07-12 18:38:06 +08:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel - fix 64-bit build warnings 2017-02-11 17:52:29 +08:00
bfin_crc.c crypto: bfin_crc - Fix format printing warning 2016-12-27 17:50:51 +08:00
bfin_crc.h crypto: bfin_crc - Remove unneeded linux/miscdevice.h include 2016-12-27 17:50:51 +08:00
exynos-rng.c crypto: exynos - Add new Exynos RNG driver 2017-04-21 20:30:46 +08:00
geode-aes.c
geode-aes.h
hifn_795x.c crypto: squash lines for simple wrapper functions 2016-09-13 20:27:26 +08:00
img-hash.c crypto: img-hash - Handle return value of clk_prepare_enable 2017-05-23 12:52:03 +08:00
ixp4xx_crypto.c crypto: ixp4xx - Use IPAD/OPAD constant 2017-05-23 12:52:07 +08:00
Kconfig crypto: cavium - Add support for CNN55XX adapters. 2017-06-10 12:04:33 +08:00
Makefile crypto: cavium - Add support for CNN55XX adapters. 2017-06-10 12:04:33 +08:00
mv_cesa.c crypto: mv_cesa - Use IPAD/OPAD constant 2017-05-23 12:52:08 +08:00
mv_cesa.h crypto: mv_cesa - Add missing #define 2014-08-29 21:46:36 +08:00
mxc-scc.c crypto: mxc-scc - check clk_prepare_enable() error 2016-08-24 21:04:50 +08:00
mxs-dcp.c crypto: mxs-dcp - Use skcipher for fallback 2016-07-01 23:45:08 +08:00
n2_asm.S
n2_core.c crypto: n2 - make of_device_ids const 2017-06-20 11:21:48 +08:00
n2_core.h
omap-aes-gcm.c crypto: omap-aes - fix spelling mistake "Encryptio" -> "Encryption" 2017-06-20 11:21:29 +08:00
omap-aes.c crypto: omap-aes - Add support for GCM mode 2017-06-10 12:04:19 +08:00
omap-aes.h crypto: omap-aes - Add support for GCM mode 2017-06-10 12:04:19 +08:00
omap-crypto.c crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-crypto.h crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-des.c crypto: omap-des - use base omap crypto support library 2017-06-10 12:04:16 +08:00
omap-sham.c crypto: omap-sham - force word alignment on the xmit-buf also 2017-06-10 12:04:20 +08:00
padlock-aes.c x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
padlock-sha.c x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
picoxcell_crypto_regs.h
picoxcell_crypto.c crypto: picoxcell - Remove spacc_is_compatible() wrapper function 2017-01-13 00:24:41 +08:00
s5p-sss.c crypto: s5p-sss - Document the struct s5p_aes_dev 2017-03-24 22:03:00 +08:00
sahara.c crypto: sahara - fix typo "Decidated" -> "Dedicated" 2016-11-01 08:37:12 +08:00
talitos.c crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD 2017-06-19 14:11:44 +08:00
talitos.h crypto: talitos - add new crypto modes 2015-12-04 22:29:56 +08:00