summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/tegra-cryptodev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/misc/tegra-cryptodev.c b/drivers/misc/tegra-cryptodev.c
index 4dc6ca63226d..2c0d3918100d 100644
--- a/drivers/misc/tegra-cryptodev.c
+++ b/drivers/misc/tegra-cryptodev.c
@@ -33,6 +33,7 @@
#include <linux/tegra-soc.h>
#include <crypto/rng.h>
#include <crypto/hash.h>
+#include <asm/barrier.h>
#include "tegra-cryptodev.h"
@@ -282,6 +283,8 @@ static int process_crypt_req(struct tegra_crypto_ctx *ctx, struct tegra_crypt_re
const u8 *key = NULL;
struct tegra_crypto_completion tcrypt_complete;
+ speculation_barrier();
+
if (crypt_req->op & TEGRA_CRYPTO_ECB) {
req = ablkcipher_request_alloc(ctx->ecb_tfm, GFP_KERNEL);
tfm = ctx->ecb_tfm;
@@ -930,6 +933,9 @@ rng_out:
rsa_req.algo);
return -EINVAL;
}
+
+ speculation_barrier();
+
ret = tegra_crypt_rsa(ctx, &rsa_req);
break;