Messages in this thread | | | Date | Thu, 17 Sep 2020 17:26:44 +1000 | From | Herbert Xu <> | Subject | Re: [PATCH] random: use correct memory barriers for crng_node_pool |
| |
Eric Biggers <ebiggers@kernel.org> wrote: > From: Eric Biggers <ebiggers@google.com> > > When a CPU selects which CRNG to use, it accesses crng_node_pool without > a memory barrier. That's wrong, because crng_node_pool can be set by > another CPU concurrently. Without a memory barrier, the crng_state that > is used might not appear to be fully initialized.
The only architecture that requires a barrier for data dependency is Alpha. The correct primitive to ensure that barrier is present is smp_barrier_depends, or you could just use READ_ONCE.
Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |