Thread (12 messages) 12 messages, 3 authors, 2014-11-17

Re: [PATCH v4 4/6] hw_random: fix unregister race.

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2014-11-12 04:47:48
Also in: kvm, lkml

On Mon, Nov 10, 2014 at 09:47:27PM +0800, Herbert Xu wrote:
On Mon, Nov 03, 2014 at 11:56:24PM +0800, Amos Kong wrote:
quoted
@@ -98,6 +99,8 @@ static inline void cleanup_rng(struct kref *kref)
 
 	if (rng->cleanup)
 		rng->cleanup(rng);
You need a compiler barrier here to prevent reordering.
Michael Büsch pointed out that we should actually have a memory
barrier here.  I thought we didn't need it because I was only
worried about the code in my original complaint.  However, expecting
driver writers to use correct synchronisation primitives is surely
asking too much.

So let's add an smp_wmb() here to ensure all side-effects of
cleanup is visible.

Thanks,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help