Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)

Bill Stouder-Studenmund <[email protected]>
Newsgroups gmane.os.netbsd.devel.kernel,gmane.os.netbsd.ports.i386,gmane.os.netbsd.devel.crypto
Message-ID <[email protected]>
On Thu, Nov 06, 2008 at 11:00:17AM -0500, Thor Lancelot Simon wrote:
> 
> It is almost as if crypto_mtx weren't mutexing, specifically around the
> TAILQ manipulation for the return queue -- it looks like the TAILQ calls
> in cryptoret() get a stale TAILQ_HEAD that points at freed data.  We tried
> putting membar_sync() before and after the traversal of the TAILQ in
> cryptoret() and crypto_ret_q_remove() but this didn't help; I'm not sure
> it should -- do these operations guarantee that *other* CPUs have all
> pending loads/stores flushed?

I'm seeing something vaguely similar with revivesa. With some local bug
fixes, I'm consistently seeing panics in the unblock-generation code, when
I pull a thread off of a sleepqueue; the TAILQ is corrupt. This is
slightly different from what you're doing in that I'm manually
manipulating the queue and not going through a main interface.

I admit it could also be that I need some memory barriers...

Take care,

Bill
signature.asc (application/pgp-signature, 186 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFJEytkWz+3JHUci9cRAkdDAJ9E6aUbpKSSryEnsZ9MLlyn5A3kCgCfQA9+
4uzSBBrm4dgH4Bhd9l+RiVA=
=xOmH
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.