aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/crypto/drbg.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2023-03-28 11:35:23 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2023-04-06 16:18:53 +0800
commit686cd976b6ddedeeb1a1fb09ba53a891d3cc9a03 (patch)
tree1c984fde1876309b1f129c940f15a7a7bcd9185f /crypto/drbg.c
parentcrypto: jitter - permanent and intermittent health errors (diff)
downloadwireguard-linux-686cd976b6ddedeeb1a1fb09ba53a891d3cc9a03.tar.xz
wireguard-linux-686cd976b6ddedeeb1a1fb09ba53a891d3cc9a03.zip
crypto: drbg - Only fail when jent is unavailable in FIPS mode
When jent initialisation fails for any reason other than ENOENT, the entire drbg fails to initialise, even when we're not in FIPS mode. This is wrong because we can still use the kernel RNG when we're not in FIPS mode. Change it so that it only fails when we are in FIPS mode. Fixes: 57225e679788 ("crypto: drbg - Use callback API for random readiness") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Reviewed-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/drbg.c')
-rw-r--r--crypto/drbg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/drbg.c b/crypto/drbg.c
index 982d4ca4526d..ff4ebbc68efa 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1546,7 +1546,7 @@ static int drbg_prepare_hrng(struct drbg_state *drbg)
const int err = PTR_ERR(drbg->jent);
drbg->jent = NULL;
- if (fips_enabled || err != -ENOENT)
+ if (fips_enabled)
return err;
pr_info("DRBG: Continuing without Jitter RNG\n");
}