From owner-cvs-src@FreeBSD.ORG  Sat Mar  1 11:50:02 2008
Return-Path: <owner-cvs-src@FreeBSD.ORG>
Delivered-To: cvs-src@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 06F9A1065673;
	Sat,  1 Mar 2008 11:50:02 +0000 (UTC)
	(envelope-from rwatson@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id EB53B8FC23;
	Sat,  1 Mar 2008 11:50:01 +0000 (UTC)
	(envelope-from rwatson@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m21Bo01I006790;
	Sat, 1 Mar 2008 11:50:00 GMT
	(envelope-from rwatson@repoman.freebsd.org)
Received: (from rwatson@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m21Bo0JE006789;
	Sat, 1 Mar 2008 11:50:00 GMT (envelope-from rwatson)
Message-Id: <200803011150.m21Bo0JE006789@repoman.freebsd.org>
From: Robert Watson <rwatson@FreeBSD.org>
Date: Sat, 1 Mar 2008 11:50:00 +0000 (UTC)
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
X-FreeBSD-CVS-Branch: RELENG_7
Cc: 
Subject: cvs commit: src/sys/netinet tcp_usrreq.c
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 01 Mar 2008 11:50:02 -0000

rwatson     2008-03-01 11:50:00 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/netinet          tcp_usrreq.c 
  Log:
  Merge tcp_usrreq.c:1.166 from HEAD to RELENG_7:
  
    In tcp_ctloutput(), don't hold the inpcb lock over sooptcopyin(), rather,
    drop the lock and then re-acquire it, revalidating TCP connection state
    assumptions when we do so.  This avoids a potential lock order reversal
    (and potential deadlock, although none have been reported) due to the
    inpcb lock being held over a page fault.
  
    PR:             102752
    Reviewed by:    bz
    Reported by:    Václav Haisman <v dot haisman at sh dot cvut dot cz>
  
  Revision   Changes    Path
  1.163.2.3  +55 -25    src/sys/netinet/tcp_usrreq.c