mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
crypto: qce - Fix SHA result buffer corruption issues
Partial hash was being copied into the final result buffer without the entire message block processed. Depending on how the end user processes this result buffer, errors vary from result buffer corruption to result buffer poisoing. Fix this issue by ensuring that only the final hash value is copied into the result buffer. Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
8cbc344821
commit
1148a9654b
@ -48,7 +48,7 @@ static void qce_ahash_done(void *data)
|
||||
dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE);
|
||||
|
||||
memcpy(rctx->digest, result->auth_iv, digestsize);
|
||||
if (req->result)
|
||||
if (req->result && rctx->last_blk)
|
||||
memcpy(req->result, result->auth_iv, digestsize);
|
||||
|
||||
rctx->byte_count[0] = cpu_to_be32(result->auth_byte_count[0]);
|
||||
|
Loading…
Reference in New Issue
Block a user