All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: linux-crypto@vger.kernel.org, Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-kernel@vger.kernel.org,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Stephan Mueller <smueller@chronox.de>,
	Eric Biggers <ebiggers@kernel.org>
Subject: [PATCH 00/11] Stop pulling DRBG code into non-FIPS kernels
Date: Wed, 25 Mar 2026 17:14:56 -0700	[thread overview]
Message-ID: <20260326001507.66500-1-ebiggers@kernel.org> (raw)

Most kernels have CRYPTO_FIPS=n but still include crypto/drbg.c and
everything it depends on, including crypto/jitterentropy.c.

This dependency bloat happens because some kernel code gets random bytes
from "stdrng" in the crypto_rng API instead of from get_random_bytes().
(This is apparently done for FIPS certification reasons.)  Then, that
pulls crypto/drbg.c to provide a "stdrng" implementation.

This series fixes the dependency bloat by making "stdrng" be used only
in FIPS mode, and get_random_bytes_wait() be used otherwise.

This series is targeting cryptodev/master.

Eric Biggers (11):
  crypto: rng - Add crypto_stdrng_get_bytes()
  crypto: dh - Use crypto_stdrng_get_bytes()
  crypto: ecc - Use crypto_stdrng_get_bytes()
  crypto: geniv - Use crypto_stdrng_get_bytes()
  crypto: hisilicon/hpre - Use crypto_stdrng_get_bytes()
  crypto: intel/keembay-ocs-ecc - Use crypto_stdrng_get_bytes()
  net: tipc: Use crypto_stdrng_get_bytes()
  crypto: rng - Unexport "default RNG" symbols
  crypto: rng - Make crypto_stdrng_get_bytes() use normal RNG in
    non-FIPS mode
  crypto: fips - Depend on CRYPTO_DRBG=y
  crypto: rng - Don't pull in DRBG when CRYPTO_FIPS=n

 crypto/Kconfig                                |  9 +------
 crypto/dh.c                                   |  8 +-----
 crypto/ecc.c                                  | 11 +++-----
 crypto/geniv.c                                |  8 +-----
 crypto/rng.c                                  | 23 ++++++++++++-----
 drivers/crypto/hisilicon/hpre/hpre_crypto.c   | 12 ++-------
 .../crypto/intel/keembay/keembay-ocs-ecc.c    | 17 +++----------
 include/crypto/rng.h                          | 25 ++++++++++++++++---
 net/tipc/crypto.c                             | 13 ++--------
 9 files changed, 53 insertions(+), 73 deletions(-)


base-commit: f9bbd547cfb98b1c5e535aab9b0671a2ff22453a
-- 
2.53.0


             reply	other threads:[~2026-03-26  0:16 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-26  0:14 Eric Biggers [this message]
2026-03-26  0:14 ` [PATCH 01/11] crypto: rng - Add crypto_stdrng_get_bytes() Eric Biggers
2026-03-26  1:38   ` Jason A. Donenfeld
2026-03-26  2:31     ` Eric Biggers
2026-03-29 22:50       ` Eric Biggers
2026-03-26  0:14 ` [PATCH 02/11] crypto: dh - Use crypto_stdrng_get_bytes() Eric Biggers
2026-03-26  0:14 ` [PATCH 03/11] crypto: ecc " Eric Biggers
2026-03-26  0:15 ` [PATCH 04/11] crypto: geniv " Eric Biggers
2026-03-26  0:15 ` [PATCH 05/11] crypto: hisilicon/hpre " Eric Biggers
2026-03-26  0:15 ` [PATCH 06/11] crypto: intel/keembay-ocs-ecc " Eric Biggers
2026-03-26  0:15 ` [PATCH 07/11] net: tipc: " Eric Biggers
2026-03-26  0:15 ` [PATCH 08/11] crypto: rng - Unexport "default RNG" symbols Eric Biggers
2026-03-26  0:15 ` [PATCH 09/11] crypto: rng - Make crypto_stdrng_get_bytes() use normal RNG in non-FIPS mode Eric Biggers
2026-03-26  0:15 ` [PATCH 10/11] crypto: fips - Depend on CRYPTO_DRBG=y Eric Biggers
2026-03-26  0:15 ` [PATCH 11/11] crypto: rng - Don't pull in DRBG when CRYPTO_FIPS=n Eric Biggers
2026-04-03  1:05 ` [PATCH 00/11] Stop pulling DRBG code into non-FIPS kernels Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260326001507.66500-1-ebiggers@kernel.org \
    --to=ebiggers@kernel.org \
    --cc=Jason@zx2c4.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=smueller@chronox.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.