From owner-freebsd-pf@FreeBSD.ORG Sun Dec 18 09:08:29 2005 Return-Path: X-Original-To: freebsd-pf@freebsd.org Delivered-To: freebsd-pf@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5DC8A16A41F for ; Sun, 18 Dec 2005 09:08:29 +0000 (GMT) (envelope-from thompsa@freebsd.org) Received: from dbmail-mx4.orcon.co.nz (loadbalancer1.orcon.net.nz [219.88.242.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDA4543D45 for ; Sun, 18 Dec 2005 09:08:28 +0000 (GMT) (envelope-from thompsa@freebsd.org) Received: from heff.fud.org.nz (60-234-149-201.bitstream.orcon.net.nz [60.234.149.201]) by dbmail-mx4.orcon.co.nz (8.13.5/8.13.5/Debian-3) with ESMTP id jBI98Mid008446 for ; Sun, 18 Dec 2005 22:08:27 +1300 Received: by heff.fud.org.nz (Postfix, from userid 1001) id 70E7128431; Sun, 18 Dec 2005 22:08:22 +1300 (NZDT) Date: Sun, 18 Dec 2005 22:08:22 +1300 From: Andrew Thompson To: freebsd-pf@freebsd.org Message-ID: <20051218090822.GA8358@heff.fud.org.nz> References: <200507201858.j6KIwRNZ097685@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200507201858.j6KIwRNZ097685@repoman.freebsd.org> User-Agent: Mutt/1.5.11 X-Virus-Scanned: ClamAV version 0.87.1, clamav-milter version 0.87 on dbmail-mx4.orcon.co.nz X-Virus-Status: Clean Subject: Re: cvs commit: src/sys/contrib/pf/net pf.c pfvar.h X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Dec 2005 09:08:29 -0000 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