Alex Porosanu
21cc91554c
crypto: caam - fix AEAD givenc descriptors
...
commit d128af17876d79b87edf048303f98b35f6a53dbc upstream.
The AEAD givenc descriptor relies on moving the IV through the
output FIFO and then back to the CTX2 for authentication. The
SEQ FIFO STORE could be scheduled before the data can be
read from OFIFO, especially since the SEQ FIFO LOAD needs
to wait for the SEQ FIFO LOAD SKIP to finish first. The
SKIP takes more time when the input is SG than when it's
a contiguous buffer. If the SEQ FIFO LOAD is not scheduled
before the STORE, the DECO will hang waiting for data
to be available in the OFIFO so it can be transferred to C2.
In order to overcome this, first force transfer of IV to C2
by starting the "cryptlen" transfer first and then starting to
store data from OFIFO to the output buffer.
Fixes: 1acebad3d8 ("crypto: caam - faster aead implementation")
Signed-off-by: Alex Porosanu <alexandru.porosanu@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-06 10:40:13 +01:00
..
amcc
crypto4xx: integrate ppc4xx-rng into crypto4xx
2016-04-20 17:50:02 +08:00
caam
crypto: caam - fix AEAD givenc descriptors
2017-01-06 10:40:13 +01:00
ccp
crypto: ccp - Make syslog errors human-readable
2016-10-02 22:33:45 +08:00
chelsio
crypto: chcr - Fix memory corruption
2016-11-30 19:46:44 +08:00
marvell
crypto: marvell - Don't corrupt state of an STD req for re-stepped ahash
2016-12-07 19:55:17 +08:00
nx
crypto: nx - off by one bug in nx_of_update_msc()
2016-07-19 12:01:47 +08:00
qat
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-10-10 11:19:47 +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
sunxi-ss
crypto: sun4i-ss - mark sun4i_hash() static
2016-09-22 18:32:48 +08:00
ux500
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-07-21 12:26:55 +08:00
vmx
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-10-10 11:19:47 +08:00
atmel-aes-regs.h
crypto: atmel-aes - add support to GCM mode
2015-12-23 18:19:58 +08:00
atmel-aes.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-03-17 11:22:54 -07:00
atmel-sha-regs.h
crypto: atmel-sha - fix context switches
2016-01-25 22:42:07 +08:00
atmel-sha.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-03-17 11:22:54 -07:00
atmel-tdes-regs.h
crypto: atmel-tdes - add support for latest release of the IP (0x700)
2013-03-10 16:46:42 +08:00
atmel-tdes.c
crypto: atmel - fix checks of error code returned by devm_ioremap_resource()
2016-03-11 21:19:19 +08:00
bfin_crc.c
crypto: bfin_crc - Simplify use of devm_ioremap_resource
2016-07-05 23:05:24 +08:00
bfin_crc.h
crypto: bfin_crc - access crc registers by readl and writel functions
2014-04-16 20:40:15 +08:00
geode-aes.c
crypto: geode - Don't use tfm->__crt_alg->cra_name directly
2014-05-22 21:03:13 +08:00
geode-aes.h
crypto: geode - Consistently use AES_KEYSIZE_128
2014-05-22 21:03:12 +08:00
hifn_795x.c
crypto: squash lines for simple wrapper functions
2016-09-13 20:27:26 +08:00
img-hash.c
crypto: img-hash - Fix set_reqsize call
2016-08-09 18:47:23 +08:00
ixp4xx_crypto.c
crypto: ixp4xx - Add missing npe_c release in error branches
2016-08-09 18:47:03 +08:00
Kconfig
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-10-10 14:04:16 -07:00
Makefile
crypto: Added Chelsio Menu to the Kconfig file
2016-08-19 00:00:37 -07:00
mv_cesa.c
crypto: mv_cesa - remove NO_IRQ reference
2016-09-07 21:08:32 +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
crypto: n2 - Add Niagara2 crypto driver
2010-05-19 14:14:04 +10:00
n2_core.c
crypto: n2 - Remove return statement from void function
2016-04-05 20:35:44 +08:00
n2_core.h
crypto: n2 - Add Niagara2 crypto driver
2010-05-19 14:14:04 +10:00
omap-aes.c
crypto: omap-aes - fix error return code in omap_aes_probe()
2016-09-22 18:27:35 +08:00
omap-des.c
crypto: omap-des - fix error return code in omap_des_probe()
2016-09-22 18:27:34 +08:00
omap-sham.c
crypto: omap-sham - shrink the internal buffer size
2016-09-22 18:32:53 +08:00
padlock-aes.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-01-12 18:51:14 -08:00
padlock-sha.c
x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros
2015-12-19 11:49:55 +01:00
picoxcell_crypto.c
crypto: picoxcell - Use skcipher for fallback
2016-07-01 23:45:09 +08:00
picoxcell_crypto_regs.h
crypto: picoxcell - add support for the picoxcell crypto engines
2011-02-21 22:42:40 +11:00
s5p-sss.c
crypto: s5p-sss - Use consistent indentation for variables and members
2016-05-31 17:52:30 +08:00
sahara.c
crypto: sahara - Use skcipher for fallback
2016-07-01 23:45:10 +08:00
talitos.c
crypto: talitos - templates for AEAD using HMAC_SNOOP_NO_AFEU
2016-06-08 16:20:04 +08:00
talitos.h
crypto: talitos - add new crypto modes
2015-12-04 22:29:56 +08:00