]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: drbg - Fix the fips_enabled priority boost
authorEric Biggers <ebiggers@kernel.org>
Mon, 20 Apr 2026 06:33:49 +0000 (23:33 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 7 May 2026 08:09:59 +0000 (16:09 +0800)
When fips_enabled=1, it seems to have been intended for one of the
algorithms defined in crypto/drbg.c to be the highest priority "stdrng"
algorithm, so that it is what is used by "stdrng" users.

However, the code only boosts the priority to 400, which is less than
the priority 500 used in drivers/crypto/caam/caamprng.c.  Thus, the CAAM
RNG could be used instead.

Fix this by boosting the priority by 2000 instead of 200.

Fixes: 541af946fe13 ("crypto: drbg - SP800-90A Deterministic Random Bit Generator")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/drbg.c

index f23b431bd4902a7ef4aace411a6343a713d98184..e3065fb9541b2eec94422169c58ccab14af9616d 100644 (file)
@@ -1832,7 +1832,7 @@ static inline void __init drbg_fill_array(struct rng_alg *alg,
         * it is selected.
         */
        if (fips_enabled)
-               alg->base.cra_priority += 200;
+               alg->base.cra_priority += 2000;
 
        alg->base.cra_ctxsize   = sizeof(struct drbg_state);
        alg->base.cra_module    = THIS_MODULE;