crypto: talitos - fix AEAD processing.
authorChristophe Leroy <christophe.leroy@c-s.fr>
Tue, 21 May 2019 13:34:19 +0000 (13:34 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 30 May 2019 07:30:05 +0000 (15:30 +0800)
commite345177ded17611e36c067751d63d64bf106cb54
treeb0528386bee2050f73c785599c4da184ef510d01
parentc9cca7034b34a2d82e9a03b757de2485c294851c
crypto: talitos - fix AEAD processing.

This driver is working well in 'simple cases', but as soon as
more exotic SG lists are provided (dst different from src,
auth part not in a single SG fragment, ...) there are
wrong results, overruns, etc ...

This patch cleans up the AEAD processing by:
- Simplifying the location of 'out of line' ICV
- Never using 'out of line' ICV on encryp
- Always using 'out of line' ICV on decrypt
- Forcing the generation of a SG table on decrypt

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Fixes: aeb4c132f33d ("crypto: talitos - Convert to new AEAD interface")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/talitos.c
drivers/crypto/talitos.h