On Tue, May 03, 2022 at 03:40:52PM +0200, Jason A. Donenfeld wrote: > +static bool crng_ready_slowpath(void) > +{ > + if (crng_init <= 1) > + return false; > + if (in_atomic() || irqs_disabled() || cmpxchg(&crng_init, 2, 3) != 2) > + return true; Nobody chimed in here, but for posterity I thought I should point out that this approach actually won't work, since in_atomic() doesn't work with CONFIG_PREEMPT_COUNT=n kernels. So back to the drawing board in trying to figure out the best way to do this... Jason