Initialize and check the return value in hash *do_one_req() functions
and exit the function if there is an error. This fixes the
'uninitialized variable' warnings reported by testbots.
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202412071747.flPux4oB-lkp@intel.com/
Fixes: 0880bb3b00c8 ("crypto: tegra - Add Tegra Security Engine driver")
Signed-off-by: Akhil R <akhilrajeev@nvidia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
        struct tegra_cmac_ctx *ctx = crypto_ahash_ctx(tfm);
        struct tegra_se *se = ctx->se;
-       int ret;
+       int ret = 0;
 
        if (rctx->task & SHA_UPDATE) {
                ret = tegra_cmac_do_update(req);
+               if (ret)
+                       goto out;
+
                rctx->task &= ~SHA_UPDATE;
        }
 
        if (rctx->task & SHA_FINAL) {
                ret = tegra_cmac_do_final(req);
+               if (ret)
+                       goto out;
+
                rctx->task &= ~SHA_FINAL;
        }
-
+out:
        crypto_finalize_hash_request(se->engine, req, ret);
 
        return 0;
 
 
        if (rctx->task & SHA_UPDATE) {
                ret = tegra_sha_do_update(req);
+               if (ret)
+                       goto out;
+
                rctx->task &= ~SHA_UPDATE;
        }
 
        if (rctx->task & SHA_FINAL) {
                ret = tegra_sha_do_final(req);
+               if (ret)
+                       goto out;
+
                rctx->task &= ~SHA_FINAL;
        }
 
+out:
        crypto_finalize_hash_request(se->engine, req, ret);
 
        return 0;