Date: Tue, 9 Oct 2018 08:02:34 -0700 From: John Baldwin <jhb@FreeBSD.org> To: "Jonathan T. Looney" <jtl@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r339251 - in head/sys: net netinet netinet6 Message-ID: <bb0f4bca-8cca-f2c2-f8d8-5a8ee548d3ef@FreeBSD.org> In-Reply-To: <201810091326.w99DQ7MN083891@repo.freebsd.org> References: <201810091326.w99DQ7MN083891@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/9/18 6:26 AM, Jonathan T. Looney wrote: > Author: jtl > Date: Tue Oct 9 13:26:06 2018 > New Revision: 339251 > URL: https://svnweb.freebsd.org/changeset/base/339251 > > Log: > There are three places where we return from a function which entered an > epoch section without exiting that epoch section. This is bad for two > reasons: the epoch section won't exit, and we will leave the epoch tracker > from the stack on the epoch list. > > Fix the epoch leak by making sure we exit epoch sections before returning. Do we have some sort of simple per-thread epoch counter similar to td->td_locks that we could assert on in userret() and in the ithread loop when ithreads go to sleep to help catch leaked locks? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb0f4bca-8cca-f2c2-f8d8-5a8ee548d3ef>