From owner-cvs-all@FreeBSD.ORG Fri Apr 20 13:51:35 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C78616A402; Fri, 20 Apr 2007 13:51:35 +0000 (UTC) (envelope-from andre@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8D7A413C46E; Fri, 20 Apr 2007 13:51:35 +0000 (UTC) (envelope-from andre@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l3KDpZBq013833; Fri, 20 Apr 2007 13:51:35 GMT (envelope-from andre@repoman.freebsd.org) Received: (from andre@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3KDpZfk013832; Fri, 20 Apr 2007 13:51:35 GMT (envelope-from andre) Message-Id: <200704201351.l3KDpZfk013832@repoman.freebsd.org> From: Andre Oppermann Date: Fri, 20 Apr 2007 13:51:34 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/netinet tcp_input.c tcp_syncache.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Apr 2007 13:51:35 -0000 andre 2007-04-20 13:51:34 UTC FreeBSD src repository Modified files: sys/netinet tcp_input.c tcp_syncache.c Log: Simplifly syncache_expand() and clarify its semantics. Zero is returned when the ACK is invalid and doesn't belong to any registered connection, either in syncache or through SYN cookies. True but a NULL struct socket is returned when the 3WHS completed but the socket could not be created due to insufficient resources or limits reached. For both cases an RST is sent back in tcp_input(). A logic error leading to a panic is fixed where syncache_expand() would free the mbuf on socket allocation failure but tcp_input() later supplies it to tcp_dropwithreset() to issue a RST to the peer. Reported by: kris (the panic) Revision Changes Path 1.337 +8 -8 src/sys/netinet/tcp_input.c 1.113 +4 -17 src/sys/netinet/tcp_syncache.c