From: sashiko-bot@kernel.org
To: "Manorit Chawdhry" <m-chawdhry@ti.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
Keerthy <j-keerthy@ti.com>,
"Colin Ian King" <colin.i.king@gmail.com>
Cc: "Andrew Davis" <afd@ti.com>, "Pratham T" <t-pratham@ti.com>,
"Kamlesh Gurudasani" <kamlesh@ti.com>,
"Udit Kumar" <u-kumar1@ti.com>,
linux-crypto@vger.kernel.org
Subject: Re: [PATCH v2 28/30] crypto: sa2ul - route requests through crypto_engine
Date: Wed, 04 Nov 2026 06:04:32 +0000 [thread overview]
Message-ID: <sashiko-outbox-196724@kernel.org> (raw)
In-Reply-To: <20261104-b4-upstream-sa2ul-cleanup-v2-28-15ab90b3f9c2@ti.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] crypto: sa2ul: unused-but-set variable enc_size in sa_aead_run()
--
commit f24f2777678674102188bb8e0c6e2374169ce53e
Author: Manorit Chawdhry <m-chawdhry@ti.com>
crypto: sa2ul - route requests through crypto_engine
This commit routes skcipher, ahash, and AEAD requests in the SA2UL driver
through crypto_engine so that request setup and submission run in a
sleepable context.
> diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c
> index 19caaa41ba038..5716b44afaebf 100644
> --- a/drivers/crypto/sa2ul.c
> +++ b/drivers/crypto/sa2ul.c
[ ... ]
> @@ -1800,12 +1925,14 @@ static int sa_aead_cbc_sha256_setkey(struct crypto_aead *authenc,
> return sa_aead_setkey(authenc, key, keylen, &ad);
> }
>
> -static int sa_aead_run(struct aead_request *req, u8 *iv, int enc)
> +static int sa_aead_run(struct aead_request *req, int enc)
> {
> struct crypto_aead *tfm = crypto_aead_reqtfm(req);
> struct sa_tfm_ctx *ctx = crypto_aead_ctx(tfm);
> - struct sa_req sa_req = { 0 };
> + struct sa_aead_req_ctx *rctx = aead_request_ctx(req);
> size_t auth_size, enc_size;
> + unsigned long flags;
> + int ret;
>
> enc_size = req->cryptlen;
> auth_size = req->assoclen + req->cryptlen;
> @@ -1833,271 +1960,330 @@ static int sa_aead_run(struct aead_request *req, u8 *iv, int enc)
> return ret;
> }
>
> + rctx->enc = enc;
> +
> + spin_lock_irqsave(&ctx->dev_data->request_lock, flags);
> + ret = ctx->dev_data->stopping ? -ESHUTDOWN :
> + crypto_transfer_aead_request_to_engine(ctx->dev_data->engine, req);
> + spin_unlock_irqrestore(&ctx->dev_data->request_lock, flags);
> + return ret;
> +}
> +
> +static int sa_aead_do_one_req(struct crypto_engine *engine, void *areq)
> +{
> + struct aead_request *req = container_of(areq, struct aead_request, base);
> + struct crypto_aead *tfm = crypto_aead_reqtfm(req);
> + struct sa_tfm_ctx *ctx = crypto_aead_ctx(tfm);
> + struct sa_aead_req_ctx *rctx = aead_request_ctx(req);
> + struct sa_req sa_req = { 0 };
> + size_t auth_size, enc_size;
> +
> + enc_size = req->cryptlen;
> + auth_size = req->assoclen + req->cryptlen;
> +
> + if (!rctx->enc) {
> + enc_size -= crypto_aead_authsize(tfm);
> + auth_size -= crypto_aead_authsize(tfm);
> + }
> +
> sa_req.enc_offset = req->assoclen;
> sa_req.enc_size = enc_size;
[Severity: Low]
Now that the struct sa_req setup has been moved to sa_aead_do_one_req(),
enc_size in sa_aead_run() is still assigned and decremented when !enc:
enc_size = req->cryptlen;
auth_size = req->assoclen + req->cryptlen;
if (!enc) {
enc_size -= crypto_aead_authsize(tfm);
auth_size -= crypto_aead_authsize(tfm);
}
but it is never read anywhere in sa_aead_run(). Does this trigger an
-Wunused-but-set-variable warning when building drivers/crypto/sa2ul.o
with W=1? Should enc_size be removed from sa_aead_run()?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261104-b4-upstream-sa2ul-cleanup-v2-0-15ab90b3f9c2@ti.com?part=28
next prev parent reply other threads:[~2026-11-04 6:04 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 5:44 [PATCH v2 00/30] Clean and improve SA2UL driver Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 01/30] crypto: sa2ul - remove dead code Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 02/30] crypto: sa2ul - remove totally unused structure fields Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 03/30] crypto: sa2ul - remove unused fields from sa_cmdl_cfg Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 04/30] crypto: sa2ul - remove unused context fields Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 05/30] crypto: sa2ul - remove unused macro definitions Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 06/30] crypto: sa2ul - remove unused base register pointer Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 07/30] crypto: sa2ul - remove unused includes and defines Manorit Chawdhry
2026-11-04 5:57 ` sashiko-bot
2026-11-04 5:44 ` [PATCH v2 08/30] crypto: sa2ul - remove unused line Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 09/30] crypto: sa2ul - remove redundant sa_sha_digest() wrapper Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 10/30] crypto: sa2ul - fix struct documentation for match_data Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 11/30] crypto: sa2ul - keep the probe register mapping local Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 12/30] crypto: sa2ul - zero out security context on free Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 13/30] crypto: sa2ul - preserve full authentication key lengths Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 14/30] crypto: sa2ul - validate AES key sizes before indexing Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 15/30] crypto: sa2ul - remove unused SC ID range tracking Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 16/30] crypto: sa2ul - copy command-label inputs locally Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 17/30] crypto: sa2ul - consolidate encryption offset definitions Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 18/30] crypto: sa2ul - handle unaligned IV buffers Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 19/30] crypto: sa2ul - remove redundant algorithm ID fields Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 20/30] crypto: sa2ul - handle transform initialization failures Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 21/30] crypto: sa2ul - reject exhausted context IDs Manorit Chawdhry
2026-11-04 13:31 ` Thorsten Blum
2026-11-04 5:44 ` [PATCH v2 22/30] crypto: sa2ul - validate scatterlist setup and unwind DMA mappings Manorit Chawdhry
2026-11-04 6:01 ` sashiko-bot
2026-11-04 5:44 ` [PATCH v2 23/30] crypto: sa2ul - propagate DMA transfer errors Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 24/30] crypto: sa2ul - calculate DMA metadata length from the command label Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 25/30] crypto: sa2ul - correct scatterlist DMA ownership transitions Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 26/30] crypto: sa2ul - use a mempool for security contexts Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 27/30] crypto: sa2ul - use synchronous fallbacks and fixed request sizes Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 28/30] crypto: sa2ul - route requests through crypto_engine Manorit Chawdhry
2026-11-04 6:04 ` sashiko-bot [this message]
2026-11-04 5:44 ` [PATCH v2 29/30] crypto: sa2ul - report SA engine hardware revision Manorit Chawdhry
2026-11-04 5:44 ` [PATCH v2 30/30] crypto: sa2ul - add SA3UL_CM AES support Manorit Chawdhry
2026-11-04 6:01 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-196724@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=afd@ti.com \
--cc=colin.i.king@gmail.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=j-keerthy@ti.com \
--cc=kamlesh@ti.com \
--cc=linux-crypto@vger.kernel.org \
--cc=m-chawdhry@ti.com \
--cc=sashiko-reviews@lists.linux.dev \
--cc=t-pratham@ti.com \
--cc=u-kumar1@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.