Re: [PATCH v11 2/4] crypto: spacc - Add SPAcc ahash support

From: Pavitrakumar Managutte

Date: Tue Apr 14 2026 - 06:31:40 EST


Hi Herbert,
If the above snip looks good, I can push that and some more code
clean-ups/improvements as part of V12 patchset. Do let me know.

Below are the code fixes and improvements
1. Multi-device safety handling - All packed up inside priv
2. Minor code polishes
3. memzero_explicit inside setkey, spacc_compute_xcbc_key etc.
4. Algo registration clean-ups

Warm regards,
PK



On Thu, Apr 2, 2026 at 1:30 PM Pavitrakumar Managutte
<pavitrakumarm@xxxxxxxxxxxxxxx> wrote:
>
> Hi Herbert,
> As per your inputs, I've replaced the do_shash switch to use
> lib/crypto single-shot calls for SHA-1, SHA-224, SHA-256, SHA-384,
> SHA-512, and MD5.
>
> However, SM3 does not have a single-shot library API in lib/crypto yet
> — include/crypto/sm3.h exposes sm3_init() and sm3_block_generic(),
> with no sm3()/sm3_update()/sm3_final() equivalents.
>
> For now, I've retained do_shash only for the SM3 case. Would this be
> acceptable, or would you prefer a different approach?
>
>
> Code snippet below for your reference
> ============== snip start ================
>
> switch (salg->mode->id) {
> case CRYPTO_MODE_HMAC_SHA224:
> sha224(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_SHA256:
> sha256(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_SHA384:
> sha384(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_SHA512:
> sha512(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_MD5:
> md5(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_SHA1:
> sha1(key, keylen, tctx->ipad);
> break;
>
> case CRYPTO_MODE_HMAC_SM3:
> rc = do_shash(salg->dev, "sm3", tctx->ipad, key,
> keylen);
> if (rc < 0) {
> dev_err(salg->dev,
> "ERR: %d computing shash for sm3\n", rc);
> return -EIO;
> }
> break;
>
> default:
> return -EINVAL;
> }
>
> ============== snip end ================
>
> Warm Regards,
> PK
>
>
>
> On Fri, Mar 27, 2026 at 2:50 PM Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Wed, Mar 18, 2026 at 12:48:06PM +0530, Pavitrakumar Managutte wrote:
> > >
> > > + switch (salg->mode->id) {
> > > + case CRYPTO_MODE_HMAC_SHA224:
> > > + rc = do_shash(salg->dev, "sha224", tctx->ipad, key,
> > > + keylen);
> > > + break;
> >
> > Since you're doing a giant switch statement anyway, please convert
> > this to use lib/crypto instead of shash.
> >
> > Thanks,
> > --
> > Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> > Home Page: http://gondor.apana.org.au/~herbert/
> > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt