Date: Tue, 1 Mar 2005 15:14:38 -0800 From: Kris Kennaway <kris@obsecurity.org> To: Bosko Milekic <bosko.milekic@gmail.com> Cc: bmilekic@freebsd.org Subject: Re: Race condition in mb_free_ext()? Message-ID: <20050301231438.GA25573@xor.obsecurity.org> In-Reply-To: <bbebbd3d0503011504560a94b4@mail.gmail.com> References: <20050301000436.GA33346@xor.obsecurity.org> <200503011340.18162.jhb@FreeBSD.org> <bbebbd3d0503011504560a94b4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Tue, Mar 01, 2005 at 06:04:27PM -0500, Bosko Milekic wrote: > This does not appear to explain the livelock. alc and dwhite tracked it down to a missing volatile causing gcc to mis-optimize the loop: - cnt = *(m->m_ext.ref_cnt); + cnt = *(volatile u_int *)(m->m_ext.ref_cnt); I'm currently testing that. Kris [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (FreeBSD) iD4DBQFCJPdeWry0BWjoQKURAhjEAJQIzH83/FFMg4OTWDMkev19ElbpAKD2mYru pC3bsDMZrisMSEJodagwXw== =WydC -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050301231438.GA25573>
