Skip to content

Commit ebf7606

Browse files
Dominik Brodowskizx2c4
authored andcommitted
random: access primary_pool directly rather than through pointer
Both crng_initialize_primary() and crng_init_try_arch_early() are only called for the primary_pool. Accessing it directly instead of through a function parameter simplifies the code. Signed-off-by: Dominik Brodowski <[email protected]> Signed-off-by: Jason A. Donenfeld <[email protected]>
1 parent 042e293 commit ebf7606

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

drivers/char/random.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ static bool crng_init_try_arch(struct crng_state *crng)
762762
return arch_init;
763763
}
764764

765-
static bool __init crng_init_try_arch_early(struct crng_state *crng)
765+
static bool __init crng_init_try_arch_early(void)
766766
{
767767
int i;
768768
bool arch_init = true;
@@ -774,7 +774,7 @@ static bool __init crng_init_try_arch_early(struct crng_state *crng)
774774
rv = random_get_entropy();
775775
arch_init = false;
776776
}
777-
crng->state[i] ^= rv;
777+
primary_crng.state[i] ^= rv;
778778
}
779779

780780
return arch_init;
@@ -788,16 +788,16 @@ static void crng_initialize_secondary(struct crng_state *crng)
788788
crng->init_time = jiffies - CRNG_RESEED_INTERVAL - 1;
789789
}
790790

791-
static void __init crng_initialize_primary(struct crng_state *crng)
791+
static void __init crng_initialize_primary(void)
792792
{
793-
_extract_entropy(&crng->state[4], sizeof(u32) * 12);
794-
if (crng_init_try_arch_early(crng) && trust_cpu && crng_init < 2) {
793+
_extract_entropy(&primary_crng.state[4], sizeof(u32) * 12);
794+
if (crng_init_try_arch_early() && trust_cpu && crng_init < 2) {
795795
invalidate_batched_entropy();
796796
numa_crng_init();
797797
crng_init = 2;
798798
pr_notice("crng init done (trusting CPU's manufacturer)\n");
799799
}
800-
crng->init_time = jiffies - CRNG_RESEED_INTERVAL - 1;
800+
primary_crng.init_time = jiffies - CRNG_RESEED_INTERVAL - 1;
801801
}
802802

803803
static void crng_finalize_init(struct crng_state *crng)
@@ -1698,7 +1698,7 @@ int __init rand_initialize(void)
16981698
init_std_data();
16991699
if (crng_need_final_init)
17001700
crng_finalize_init(&primary_crng);
1701-
crng_initialize_primary(&primary_crng);
1701+
crng_initialize_primary();
17021702
crng_global_init_time = jiffies;
17031703
if (ratelimit_disable) {
17041704
urandom_warning.interval = 0;

0 commit comments

Comments
 (0)