From: Chressie Himpel Date: Wed, 20 Apr 2022 14:56:54 +0000 (+0200) Subject: [dev.boringcrypto] all: merge master into dev.boringcrypto X-Git-Tag: go1.19beta1~484^2~15 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e07d63964b6db13c5439f6d0a5d136e43da74016;p=gostls13.git [dev.boringcrypto] all: merge master into dev.boringcrypto Change-Id: I52009bf809dda4fbcff03aa82d0ea8aa2a978fa2 --- e07d63964b6db13c5439f6d0a5d136e43da74016 diff --cc src/crypto/rand/rand_unix.go index c9eb7d992d,2dd4158888..0b137e131f --- a/src/crypto/rand/rand_unix.go +++ b/src/crypto/rand/rand_unix.go @@@ -48,8 -88,10 +94,11 @@@ func warnBlocked() } func (r *reader) Read(b []byte) (n int, err error) { + boring.Unreachable() - if atomic.CompareAndSwapInt32(&r.used, 0, 1) { + r.mu.Lock() + defer r.mu.Unlock() + if !r.used { + r.used = true // First use of randomness. Start timer to warn about // being blocked on entropy not being available. t := time.AfterFunc(time.Minute, warnBlocked)