mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
crypto: omap-sham - fix software fallback handling
If we have processed any data with the hardware accelerator (digcnt > 0), we must complete the entire hash by using it. This is because the current hash value can't be imported to the software fallback algorithm. Otherwise we end up with wrong hash results. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
4e7813a0b2
commit
5a793bcadb
@ -1163,7 +1163,7 @@ static int omap_sham_final(struct ahash_request *req)
|
||||
* If buffersize is less than 240, we use fallback SW encoding,
|
||||
* as using DMA + HW in this case doesn't provide any benefit.
|
||||
*/
|
||||
if ((ctx->digcnt + ctx->bufcnt) < 240)
|
||||
if (!ctx->digcnt && ctx->bufcnt < 240)
|
||||
return omap_sham_final_shash(req);
|
||||
else if (ctx->bufcnt)
|
||||
return omap_sham_enqueue(req, OP_FINAL);
|
||||
|
Loading…
Reference in New Issue
Block a user