Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a793bca authored by Tero Kristo's avatar Tero Kristo Committed by Herbert Xu
Browse files

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: default avatarTero Kristo <t-kristo@ti.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 4e7813a0
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1163,7 +1163,7 @@ static int omap_sham_final(struct ahash_request *req)
	 * If buffersize is less than 240, we use fallback SW encoding,
	 * If buffersize is less than 240, we use fallback SW encoding,
	 * as using DMA + HW in this case doesn't provide any benefit.
	 * 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);
		return omap_sham_final_shash(req);
	else if (ctx->bufcnt)
	else if (ctx->bufcnt)
		return omap_sham_enqueue(req, OP_FINAL);
		return omap_sham_enqueue(req, OP_FINAL);