crypto: drbg - ignore jitterentropy errors if not in FIPS mode
A subsequent patch will make the jitterentropy RNG to unconditionally report health test errors back to callers, independent of whether fips_enabled is set or not. The DRBG needs access to a functional jitterentropy instance only in FIPS mode (because it's the only SP800-90B compliant entropy source as it currently stands). Thus, it is perfectly fine for the DRBGs to obtain entropy from the jitterentropy source only on a best effort basis if fips_enabled is off. Make the DRBGs to ignore jitterentropy failures if fips_enabled is not set. Signed-off-by: Nicolai Stange <nstange@suse.de> Reviewed-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
95fe2253cc
commit
8f79772843
|
@ -1193,11 +1193,14 @@ static int drbg_seed(struct drbg_state *drbg, struct drbg_string *pers,
|
|||
pr_devel("DRBG: (re)seeding with %u bytes of entropy\n",
|
||||
entropylen);
|
||||
} else {
|
||||
/* Get seed from Jitter RNG */
|
||||
/*
|
||||
* Get seed from Jitter RNG, failures are
|
||||
* fatal only in FIPS mode.
|
||||
*/
|
||||
ret = crypto_rng_get_bytes(drbg->jent,
|
||||
entropy + entropylen,
|
||||
entropylen);
|
||||
if (ret) {
|
||||
if (fips_enabled && ret) {
|
||||
pr_devel("DRBG: jent failed with %d\n", ret);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue