linux_dsm_epyc7002/drivers/crypto/marvell
Russell King bd274b1085 crypto: marvell/cesa - ensure iter.base.op_len is the full op length
When we process the last request of data, and the request contains user
data, the loop in mv_cesa_ahash_dma_req_init() marks the first data size
as being iter.base.op_len which does not include the size of the cache
data.  This means we end up hashing an insufficient amount of data.

Fix this by always including the cache size in the first operation
length of any request.

This has the effect that for a request containing no user data,

	iter.base.op_len === iter.src.op_offset === creq->cache_ptr

As a result, we include one further change to use iter.base.op_len in
the cache-but-no-user-data case to make the next change clearer.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2015-10-20 22:11:07 +08:00
..
cesa.c crypto: marvell/cesa - Drop owner assignment from platform_driver 2015-07-14 14:56:48 +08:00
cesa.h crypto: marvell/cesa - factor out first fragment decisions to helper 2015-10-20 22:11:04 +08:00
cipher.c crypto: marvell/cesa - add Triple-DES support 2015-06-19 22:18:04 +08:00
hash.c crypto: marvell/cesa - ensure iter.base.op_len is the full op length 2015-10-20 22:11:07 +08:00
Makefile crypto: marvell/cesa - add TDMA support 2015-06-19 22:18:03 +08:00
tdma.c crypto: marvell/cesa - add TDMA support 2015-06-19 22:18:03 +08:00