drivers/crypto/qce/aead.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)
In qce_aead_done(), the return variable 'ret' is no longer used - remove
it. And qce_aead_prepare_dst_buf() jumps directly to 'dst_tbl_free:' on
error and returns 'sg' - drop the useless 'ret' assignments.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
drivers/crypto/qce/aead.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c
index 97b56e92ea33..67a87a7d6abd 100644
--- a/drivers/crypto/qce/aead.c
+++ b/drivers/crypto/qce/aead.c
@@ -35,7 +35,6 @@ static void qce_aead_done(void *data)
u32 status;
unsigned int totallen;
unsigned char tag[SHA256_DIGEST_SIZE] = {0};
- int ret = 0;
diff_dst = (req->src != req->dst) ? true : false;
dir_src = diff_dst ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL;
@@ -79,8 +78,7 @@ static void qce_aead_done(void *data)
} else if (!IS_CCM(rctx->flags)) {
totallen = req->cryptlen + req->assoclen - ctx->authsize;
scatterwalk_map_and_copy(tag, req->src, totallen, ctx->authsize, 0);
- ret = memcmp(result_buf->auth_iv, tag, ctx->authsize);
- if (ret) {
+ if (memcmp(result_buf->auth_iv, tag, ctx->authsize)) {
pr_err("Bad message error\n");
error = -EBADMSG;
}
@@ -144,16 +142,12 @@ qce_aead_prepare_dst_buf(struct aead_request *req)
sg = qce_sgtable_add(&rctx->dst_tbl, &rctx->adata_sg,
rctx->assoclen);
- if (IS_ERR(sg)) {
- ret = PTR_ERR(sg);
+ if (IS_ERR(sg))
goto dst_tbl_free;
- }
/* dst buffer */
sg = qce_sgtable_add(&rctx->dst_tbl, msg_sg, rctx->cryptlen);
- if (IS_ERR(sg)) {
- ret = PTR_ERR(sg);
+ if (IS_ERR(sg))
goto dst_tbl_free;
- }
totallen = rctx->cryptlen + rctx->assoclen;
} else {
if (totallen) {
--
Thorsten Blum <thorsten.blum@linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
On Mon, Mar 02, 2026 at 12:34:53PM +0100, Thorsten Blum wrote: > In qce_aead_done(), the return variable 'ret' is no longer used - remove > it. And qce_aead_prepare_dst_buf() jumps directly to 'dst_tbl_free:' on > error and returns 'sg' - drop the useless 'ret' assignments. > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> > --- > drivers/crypto/qce/aead.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) Patch applied. Thanks. -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
On 3/2/26 12:34 PM, Thorsten Blum wrote:
> In qce_aead_done(), the return variable 'ret' is no longer used - remove
> it. And qce_aead_prepare_dst_buf() jumps directly to 'dst_tbl_free:' on
> error and returns 'sg' - drop the useless 'ret' assignments.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
> drivers/crypto/qce/aead.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/crypto/qce/aead.c b/drivers/crypto/qce/aead.c
> index 97b56e92ea33..67a87a7d6abd 100644
> --- a/drivers/crypto/qce/aead.c
> +++ b/drivers/crypto/qce/aead.c
> @@ -35,7 +35,6 @@ static void qce_aead_done(void *data)
> u32 status;
> unsigned int totallen;
> unsigned char tag[SHA256_DIGEST_SIZE] = {0};
> - int ret = 0;
>
> diff_dst = (req->src != req->dst) ? true : false;
> dir_src = diff_dst ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL;
> @@ -79,8 +78,7 @@ static void qce_aead_done(void *data)
> } else if (!IS_CCM(rctx->flags)) {
> totallen = req->cryptlen + req->assoclen - ctx->authsize;
> scatterwalk_map_and_copy(tag, req->src, totallen, ctx->authsize, 0);
> - ret = memcmp(result_buf->auth_iv, tag, ctx->authsize);
> - if (ret) {
> + if (memcmp(result_buf->auth_iv, tag, ctx->authsize)) {
> pr_err("Bad message error\n");
> error = -EBADMSG;
> }
> @@ -144,16 +142,12 @@ qce_aead_prepare_dst_buf(struct aead_request *req)
>
> sg = qce_sgtable_add(&rctx->dst_tbl, &rctx->adata_sg,
> rctx->assoclen);
> - if (IS_ERR(sg)) {
> - ret = PTR_ERR(sg);
> + if (IS_ERR(sg))
> goto dst_tbl_free;
This could be made much better with a DEFINE_FREE()
Konrad
On 2. Mar 2026, at 13:47, Konrad Dybcio wrote: > On 3/2/26 12:34 PM, Thorsten Blum wrote: >> In qce_aead_done(), the return variable 'ret' is no longer used - remove >> it. And qce_aead_prepare_dst_buf() jumps directly to 'dst_tbl_free:' on >> error and returns 'sg' - drop the useless 'ret' assignments. >> >> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> >> --- >> drivers/crypto/qce/aead.c | 12 +++--------- >> 1 file changed, 3 insertions(+), 9 deletions(-) >> [...] > > This could be made much better with a DEFINE_FREE() I'm not sure this would be an improvement given that 'sg' points into 'rctx->dst_tbl', which is intentionally kept alive after this function. Thanks, Thorsten
© 2016 - 2026 Red Hat, Inc.