Date: Sun, 18 Dec 2005 22:08:22 +1300 From: Andrew Thompson <thompsa@freebsd.org> To: freebsd-pf@freebsd.org Subject: Re: cvs commit: src/sys/contrib/pf/net pf.c pfvar.h Message-ID: <20051218090822.GA8358@heff.fud.org.nz> In-Reply-To: <200507201858.j6KIwRNZ097685@repoman.freebsd.org> References: <200507201858.j6KIwRNZ097685@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 20, 2005 at 06:58:27PM +0000, Max Laier wrote: > mlaier 2005-07-20 18:58:27 UTC > > FreeBSD src repository > > Modified files: > sys/contrib/pf/net pf.c pfvar.h > Log: > Prevent a race condition. As pf_send_tcp() - called for expired synproxy > states - has to drop the lock when calling back to ip_output(), the state > purge timeout might run and gc the state. This results in a rb-tree > inconsistency. With this change we flag expiring states while holding the > lock and back off if the flag is already set. This commit seems to have broken net/pfflowd in ports. It still recieves packets from pfsync0 but nothing with action == PFSYNC_ACT_DEL. I am at a loss as to why. > Reported by: glebius > MFC after: 2 weeks > > Revision Changes Path > 1.35 +5 -0 src/sys/contrib/pf/net/pf.c > 1.12 +3 -0 src/sys/contrib/pf/net/pfvar.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051218090822.GA8358>