| From foo@baz Thu Jun 16 06:59:24 PM CEST 2022 |
| From: "Jason A. Donenfeld" <Jason@zx2c4.com> |
| Date: Tue, 7 Jun 2022 17:00:16 +0200 |
| Subject: random: mark bootloader randomness code as __init |
| |
| From: "Jason A. Donenfeld" <Jason@zx2c4.com> |
| |
| 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: 428826f5358c ("fdt: add support for rng-seed") |
| Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/char/random.c | 7 +++---- |
| include/linux/random.h | 2 +- |
| 2 files changed, 4 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/char/random.c |
| +++ b/drivers/char/random.c |
| @@ -786,8 +786,8 @@ static void __cold _credit_init_bits(siz |
| * |
| **********************************************************************/ |
| |
| -static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU); |
| -static bool trust_bootloader __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER); |
| +static bool trust_cpu __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU); |
| +static bool trust_bootloader __initdata = IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER); |
| static int __init parse_trust_cpu(char *arg) |
| { |
| return kstrtobool(arg, &trust_cpu); |
| @@ -883,13 +883,12 @@ EXPORT_SYMBOL_GPL(add_hwgenerator_random |
| * Handle random seed passed by bootloader, and credit it if |
| * 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); |
| if (trust_bootloader) |
| credit_init_bits(len * 8); |
| } |
| -EXPORT_SYMBOL_GPL(add_bootloader_randomness); |
| |
| struct fast_pool { |
| struct work_struct mix; |
| --- a/include/linux/random.h |
| +++ b/include/linux/random.h |
| @@ -13,7 +13,7 @@ |
| struct notifier_block; |
| |
| 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, |
| unsigned int value) __latent_entropy; |
| void add_interrupt_randomness(int irq) __latent_entropy; |