crypto: sun8i-ss - do not zeroize all pad

Instead of memset all pad buffer, it is faster to only put 0 where
needed.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Corentin Labbe 2022-05-02 20:19:20 +00:00 committed by Herbert Xu
parent 8eec4563f1
commit db0c62bcd4

View File

@ -319,7 +319,7 @@ int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq)
unsigned int len;
u64 fill, min_fill, byte_count;
void *pad, *result;
int j, i, todo;
int j, i, k, todo;
__be64 *bebits;
__le64 *lebits;
dma_addr_t addr_res, addr_pad;
@ -334,7 +334,6 @@ int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq)
result = ss->flows[rctx->flow].result;
pad = ss->flows[rctx->flow].pad;
memset(pad, 0, algt->alg.hash.halg.base.cra_blocksize * 2);
bf = (__le32 *)pad;
for (i = 0; i < MAX_SG; i++) {
@ -395,7 +394,10 @@ int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq)
if (fill < min_fill)
fill += 64;
k = j;
j += (fill - min_fill) / sizeof(u32);
for (; k < j; k++)
bf[k] = 0;
switch (algt->ss_algo_id) {
case SS_ID_HASH_MD5: