random: mark bootloader randomness code as __init

commit 39e0f991a62ed5efabd20711a7b6e7da92603170 upstream.

add_bootloader_randomness() and the variables it touches are only used
during __init and not after, so mark these as __init. At the same time,
unexport this, since it's only called by other __init code that's
built-in.

Cc: stable@vger.kernel.org
Fixes: 428826f535 ("fdt: add support for rng-seed")
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jason A. Donenfeld
2022-06-13 10:07:48 +02:00
committed by Greg Kroah-Hartman
parent ce49b94ddb
commit e59a120f2d
2 changed files with 4 additions and 5 deletions

View File

@@ -789,8 +789,8 @@ static void __cold _credit_init_bits(size_t bits)
* *
**********************************************************************/ **********************************************************************/
static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU); static bool trust_cpu __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
static bool trust_bootloader __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER); static bool trust_bootloader __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER);
static int __init parse_trust_cpu(char *arg) static int __init parse_trust_cpu(char *arg)
{ {
return kstrtobool(arg, &trust_cpu); return kstrtobool(arg, &trust_cpu);
@@ -886,13 +886,12 @@ EXPORT_SYMBOL_GPL(add_hwgenerator_randomness);
* Handle random seed passed by bootloader, and credit it if * Handle random seed passed by bootloader, and credit it if
* CONFIG_RANDOM_TRUST_BOOTLOADER is set. * CONFIG_RANDOM_TRUST_BOOTLOADER is set.
*/ */
void __cold add_bootloader_randomness(const void *buf, size_t len) void __init add_bootloader_randomness(const void *buf, size_t len)
{ {
mix_pool_bytes(buf, len); mix_pool_bytes(buf, len);
if (trust_bootloader) if (trust_bootloader)
credit_init_bits(len * 8); credit_init_bits(len * 8);
} }
EXPORT_SYMBOL_GPL(add_bootloader_randomness);
struct fast_pool { struct fast_pool {
struct work_struct mix; struct work_struct mix;

View File

@@ -13,7 +13,7 @@
struct notifier_block; struct notifier_block;
void add_device_randomness(const void *buf, size_t len); void add_device_randomness(const void *buf, size_t len);
void add_bootloader_randomness(const void *buf, size_t len); void __init add_bootloader_randomness(const void *buf, size_t len);
void add_input_randomness(unsigned int type, unsigned int code, void add_input_randomness(unsigned int type, unsigned int code,
unsigned int value) __latent_entropy; unsigned int value) __latent_entropy;
void add_interrupt_randomness(int irq) __latent_entropy; void add_interrupt_randomness(int irq) __latent_entropy;