Add the RHEL 687.11.1..687.12.1 backports (1198-1252) sourced from centos-stream-9 and upstream stable, on top of 687.10.1. Bump to 5.14.0-687.12.1.
100 lines
3.1 KiB
Diff
100 lines
3.1 KiB
Diff
From 6dadf30d221829ac984d01bc0139550d64a62e10 Mon Sep 17 00:00:00 2001
|
|
From: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
|
|
Date: Fri, 24 Apr 2026 14:35:20 +0000
|
|
Subject: [PATCH] crypto: tegra - Disable softirqs before finalizing request
|
|
|
|
JIRA: https://redhat.atlassian.net/browse/RHEL-170915
|
|
|
|
commit 2aeec9af775fb53aa086419b953302c6f4ad4984
|
|
Author: Herbert Xu <herbert@gondor.apana.org.au>
|
|
Date: Tue Mar 10 18:28:29 2026 +0900
|
|
|
|
crypto: tegra - Disable softirqs before finalizing request
|
|
|
|
Softirqs must be disabled when calling the finalization fucntion on
|
|
a request.
|
|
|
|
Reported-by: Guangwu Zhang <guazhang@redhat.com>
|
|
Fixes: 0880bb3b00c8 ("crypto: tegra - Add Tegra Security Engine driver")
|
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
|
|
|
Signed-off-by: CKI Backport Bot <cki-ci-bot+cki-gitlab-backport-bot@redhat.com>
|
|
|
|
diff --git a/drivers/crypto/tegra/tegra-se-aes.c b/drivers/crypto/tegra/tegra-se-aes.c
|
|
index 0e07d0523291..8b91f00b9c31 100644
|
|
--- a/drivers/crypto/tegra/tegra-se-aes.c
|
|
+++ b/drivers/crypto/tegra/tegra-se-aes.c
|
|
@@ -4,6 +4,7 @@
|
|
* Crypto driver to handle block cipher algorithms using NVIDIA Security Engine.
|
|
*/
|
|
|
|
+#include <linux/bottom_half.h>
|
|
#include <linux/clk.h>
|
|
#include <linux/dma-mapping.h>
|
|
#include <linux/module.h>
|
|
@@ -333,7 +334,9 @@ static int tegra_aes_do_one_req(struct crypto_engine *engine, void *areq)
|
|
tegra_key_invalidate_reserved(ctx->se, key2_id, ctx->alg);
|
|
|
|
out_finalize:
|
|
+ local_bh_disable();
|
|
crypto_finalize_skcipher_request(se->engine, req, ret);
|
|
+ local_bh_enable();
|
|
|
|
return 0;
|
|
}
|
|
@@ -1261,7 +1264,9 @@ static int tegra_ccm_do_one_req(struct crypto_engine *engine, void *areq)
|
|
tegra_key_invalidate_reserved(ctx->se, rctx->key_id, ctx->alg);
|
|
|
|
out_finalize:
|
|
+ local_bh_disable();
|
|
crypto_finalize_aead_request(ctx->se->engine, req, ret);
|
|
+ local_bh_enable();
|
|
|
|
return 0;
|
|
}
|
|
@@ -1347,7 +1352,9 @@ static int tegra_gcm_do_one_req(struct crypto_engine *engine, void *areq)
|
|
tegra_key_invalidate_reserved(ctx->se, rctx->key_id, ctx->alg);
|
|
|
|
out_finalize:
|
|
+ local_bh_disable();
|
|
crypto_finalize_aead_request(ctx->se->engine, req, ret);
|
|
+ local_bh_enable();
|
|
|
|
return 0;
|
|
}
|
|
@@ -1745,7 +1752,9 @@ static int tegra_cmac_do_one_req(struct crypto_engine *engine, void *areq)
|
|
if (tegra_key_is_reserved(rctx->key_id))
|
|
tegra_key_invalidate_reserved(ctx->se, rctx->key_id, ctx->alg);
|
|
|
|
+ local_bh_disable();
|
|
crypto_finalize_hash_request(se->engine, req, ret);
|
|
+ local_bh_enable();
|
|
|
|
return 0;
|
|
}
|
|
diff --git a/drivers/crypto/tegra/tegra-se-hash.c b/drivers/crypto/tegra/tegra-se-hash.c
|
|
index 42d007b7af45..90bf34eb3578 100644
|
|
--- a/drivers/crypto/tegra/tegra-se-hash.c
|
|
+++ b/drivers/crypto/tegra/tegra-se-hash.c
|
|
@@ -4,6 +4,7 @@
|
|
* Crypto driver to handle HASH algorithms using NVIDIA Security Engine.
|
|
*/
|
|
|
|
+#include <linux/bottom_half.h>
|
|
#include <linux/clk.h>
|
|
#include <linux/dma-mapping.h>
|
|
#include <linux/module.h>
|
|
@@ -543,7 +544,9 @@ static int tegra_sha_do_one_req(struct crypto_engine *engine, void *areq)
|
|
}
|
|
|
|
out:
|
|
+ local_bh_disable();
|
|
crypto_finalize_hash_request(se->engine, req, ret);
|
|
+ local_bh_enable();
|
|
|
|
return 0;
|
|
}
|
|
--
|
|
2.50.1 (Apple Git-155)
|
|
|