lkml.org 
[lkml]   [2022]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 2/9] random: get rid of secondary crngs
Just one question (which was already present in the past, but...):

> - WRITE_ONCE(crng->init_time, jiffies);
> - spin_unlock_irqrestore(&crng->lock, flags);
> - if (crng == &primary_crng && crng_init < 2)
> - crng_finalize_init();
> + WRITE_ONCE(primary_crng.init_time, jiffies);
> + spin_unlock_irqrestore(&primary_crng.lock, flags);
> + if (crng_init < 2) {
> + invalidate_batched_entropy();
> + crng_init = 2;

Might this branch be taken twice if crng_reseed() is called concurrently
twice? If so, we'd need to increment crng_init while holding the lock,
such as I suggested in my patch "random: fix locking for crng_init in
crng_reseed()". But that can be deferred to an additional patch.

Thanks,
Dominik

\
 
 \ /
  Last update: 2022-02-09 10:10    [W:0.246 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site