Re: [PATCH RFC v1] random: use static branch for crng_ready()

From: Jason A. Donenfeld
Date: Wed May 11 2022 - 07:42:01 EST


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