aboutsummaryrefslogtreecommitdiffstats
path: root/include/crypto/rng.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/crypto/rng.h')
-rw-r--r--include/crypto/rng.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/crypto/rng.h b/include/crypto/rng.h
index c93f9b9..74db6da 100644
--- a/include/crypto/rng.h
+++ b/include/crypto/rng.h
@@ -58,6 +58,11 @@ static inline void crypto_free_rng(struct crypto_rng *tfm)
static inline int crypto_rng_get_bytes(struct crypto_rng *tfm,
u8 *rdata, unsigned int dlen)
{
+#ifdef CONFIG_CRYPTO_FIPS
+ if (unlikely(in_fips_err()))
+ return -EACCES;
+#endif
+
return crypto_rng_crt(tfm)->rng_gen_random(tfm, rdata, dlen);
}