diff options
Diffstat (limited to 'include/crypto/rng.h')
-rw-r--r-- | include/crypto/rng.h | 5 |
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); } |