Skip site navigation (1)Skip section navigation (2)
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>