An error occurred while fetching folder content.
crypto: drbg - make reseeding from get_random_bytes() synchronous
Nicolai Stange authored
commit 074bcd40 upstream.

get_random_bytes() usually hasn't full entropy available by the time DRBG
instances are first getting seeded from it during boot. Thus, the DRBG
implementation registers random_ready_callbacks which would in turn
schedule some work for reseeding the DRBGs once get_random_bytes() has
sufficient entropy available.

For reference, the relevant history around handling DRBG (re)seeding in
the context of a not yet fully seeded get_random_bytes() is:

  commit 16b369a9 ("random: Blocking API for accessing
                        nonblocking_pool")
  commit 4c787990 ("crypto: drbg - add async seeding operation")

  commit 205a525c ("random: Add callback API for random pool
                        readiness")
  commit 57225e67 ("crypto: drbg - Use callback API for random
                        readiness")
  commit c2719503 ("random: Remove kernel blocking API")

However,...
072cd87d
Name Last commit Last update
..
asymmetric_keys crypto: asym_tpm: correct zero out potential secrets
async_tx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335
842.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
Kconfig crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency
Makefile crypto: aegis128-neon - use Clang compatible cflags for ARM
ablkcipher.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
acompress.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
adiantum.c crypto: shash - remove shash_desc::flags
aead.c crypto: aead - Do not allow authsize=0 if auth. alg has digestsize>0
aegis.h crypto: aegis128 - Fix -Wunused-const-variable warning
aegis128-core.c crypto: aegis128 - Fix -Wunused-const-variable warning
aegis128-neon-inner.c crypto: arm64/aegis128 - use explicit vector load for permute vectors
aegis128-neon.c crypto: arm64/aegis128 - implement plain NEON version
aes_generic.c crypto: aes-generic - remove unused variable 'rco_tab'
aes_ti.c crypto: aes - create AES library based on the fixed time AES code
af_alg.c crypto: af_alg - avoid undefined behavior accessing salg_name
ahash.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
akcipher.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
algapi.c crypto: algapi - Avoid spurious modprobe on LOADED
algboss.c crypto: algboss - don't wait during notifier callback
algif_aead.c crypto: algif_aead - Do not set MAY_BACKLOG on the async path
algif_hash.c crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
algif_rng.c net: remove sock_no_poll
algif_skcipher.c crypto: algif_skcipher - EBUSY on aio should be an error
ansi_cprng.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 42
anubis.c crypto: make all generic algorithms set cra_driver_name
api.c crypto: api - check for ERR pointers in crypto_destroy_tfm()
arc4.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
authenc.c crypto: authenc - Fix sleep in atomic context in decrypt_tail
authencesn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
blkcipher.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
blowfish_common.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
blowfish_generic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
camellia_generic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
cast5_generic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 140
cast6_generic.c crypto: x86 - Regularize glue function prototypes
cast_common.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 44
cbc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
ccm.c wusb: switch to cbcmac transform
cfb.c crypto: run initcalls for generic implementations earlier
chacha20poly1305.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
chacha_generic.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
cipher.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
cmac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
compress.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
crc32_generic.c crypto: run initcalls for generic implementations earlier
crc32c_generic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
crct10dif_common.c crypto: crct10dif - Add fallback for broken initrds
crct10dif_generic.c crypto: run initcalls for generic implementations earlier
cryptd.c crypto: cryptd - Protect per-CPU resource by disabling BH.
crypto_engine.c
crypto_null.c
crypto_user_base.c
crypto_user_stat.c
ctr.c
cts.c
deflate.c
des_generic.c
dh.c
dh_helper.c
drbg.c
ecb.c
ecc.c
ecc.h
ecc_curve_defs.h
ecdh.c
ecdh_helper.c
echainiv.c
ecrdsa.c
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
essiv.c
fcrypt.c
fips.c
gcm.c
gf128mul.c
ghash-generic.c
hash_info.c
hmac.c
internal.h
jitterentropy-kcapi.c
jitterentropy.c
keywrap.c
khazad.c
kpp.c
lrw.c
lz4.c
lz4hc.c
lzo-rle.c
lzo.c
md4.c
md5.c
memneq.c
michael_mic.c
nhpoly1305.c
ofb.c
pcbc.c
pcrypt.c
poly1305_generic.c