crypto: arm64/sm4-ccm - Rewrite skcipher walker loop
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Wed, 1 Feb 2023 12:32:07 +0000 (20:32 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 10 Feb 2023 09:20:19 +0000 (17:20 +0800)
commit3b9d902153f31998a30b0cf4a0aeb090a05005d3
treeb0c9a2c7cfcd72bdc7e0d67929f47f7eb34bb95a
parentd58fa987be772a9a1e76302d80c1a1e0e15c7d8a
crypto: arm64/sm4-ccm - Rewrite skcipher walker loop

The fact that an error in the skcipher walker API are indicated
not only by a non-zero return value, but also by the fact that
walk->nbytes is zero, causes the layout of the skcipher walker
loop to be sufficiently different from the usual layout, which
is not a problem in itself, but it is likely to cause reading
confusion and difficulty in code maintenance.

This patch rewrites skcipher walker loop, and separates the
last chunk cryption from the loop to avoid wrong calls to the
skcipher walker API. In addition to following the usual convention
of checking walk->nbytes, it also makes the loop execute logic
clearer and easier to understand.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/sm4-ce-ccm-glue.c