]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: img-hash - use list_first_entry_or_null to simplify digest
authorThorsten Blum <thorsten.blum@linux.dev>
Sat, 28 Mar 2026 10:20:44 +0000 (11:20 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 3 Apr 2026 00:56:13 +0000 (08:56 +0800)
Use list_first_entry_or_null() to simplify img_hash_digest() and remove
the now-unused local 'struct img_hash_dev *' variables. Use 'ctx->hdev'
when calling img_hash_handle_queue() instead of 'tctx->hdev'.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/img-hash.c

index 7195c37dd102715d0e7ac43282ef235c74be8ae8..f2d00b1d6b24a051f6eae25afb45123bc8fb6d0a 100644 (file)
@@ -629,24 +629,15 @@ static int img_hash_digest(struct ahash_request *req)
        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
        struct img_hash_ctx *tctx = crypto_ahash_ctx(tfm);
        struct img_hash_request_ctx *ctx = ahash_request_ctx(req);
-       struct img_hash_dev *hdev = NULL;
-       struct img_hash_dev *tmp;
        int err;
 
        spin_lock(&img_hash.lock);
-       if (!tctx->hdev) {
-               list_for_each_entry(tmp, &img_hash.dev_list, list) {
-                       hdev = tmp;
-                       break;
-               }
-               tctx->hdev = hdev;
-
-       } else {
-               hdev = tctx->hdev;
-       }
-
+       if (!tctx->hdev)
+               tctx->hdev = list_first_entry_or_null(&img_hash.dev_list,
+                                                     struct img_hash_dev, list);
+       ctx->hdev = tctx->hdev;
        spin_unlock(&img_hash.lock);
-       ctx->hdev = hdev;
+
        ctx->flags = 0;
        ctx->digsize = crypto_ahash_digestsize(tfm);
 
@@ -675,7 +666,7 @@ static int img_hash_digest(struct ahash_request *req)
        ctx->sgfirst = req->src;
        ctx->nents = sg_nents(ctx->sg);
 
-       err = img_hash_handle_queue(tctx->hdev, req);
+       err = img_hash_handle_queue(ctx->hdev, req);
 
        return err;
 }