From owner-cvs-all@FreeBSD.ORG Tue Nov 29 21:29:52 2005 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A25B516A429; Tue, 29 Nov 2005 21:29:52 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.FreeBSD.org (Postfix) with ESMTP id CAFAE43D93; Tue, 29 Nov 2005 21:29:14 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.5b3) with ESMTP id 2827613 for multiple; Tue, 29 Nov 2005 16:28:52 -0500 Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id jATLSuFV074701; Tue, 29 Nov 2005 16:28:59 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: "Bjoern A. Zeeb" Date: Tue, 29 Nov 2005 16:28:40 -0500 User-Agent: KMail/1.8.2 References: <200511281809.jASI93Rl006494@repoman.freebsd.org> <20051129194417.R23990@maildrop.int.zabbadoz.net> In-Reply-To: <20051129194417.R23990@maildrop.int.zabbadoz.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511291628.43123.jhb@freebsd.org> X-Spam-Status: No, score=-2.8 required=4.2 tests=ALL_TRUSTED autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: cvs-src@freebsd.org, src-committers@freebsd.org, Robert Watson , cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/kern uipc_socket.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: Tue, 29 Nov 2005 21:29:52 -0000 On Tuesday 29 November 2005 02:47 pm, Bjoern A. Zeeb wrote: > On Mon, 28 Nov 2005, Robert Watson wrote: > > rwatson 2005-11-28 18:09:03 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/kern uipc_socket.c > > Log: > > Break out functionality in sosend() responsible for building mbuf > > chains and copying in mbufs from the body of the send logic, creating > > a new function sosend_copyin(). This changes makes sosend() almost > > readable, and will allow the same logic to be used by tailored socket > > send routines. > > > > MFC after: 1 month > > Reviewed by: andre, glebius > > > > Revision Changes Path > > 1.253 +170 -141 src/sys/kern/uipc_socket.c > > there seems to be some locking problem. I can easily reproduce that > with a dmesg of a bootverbose boot on a ssh connection: > > System call write returning with the following locks held: > exclusive sleep mutex so_snd r = 0 (0xffffff0094a78670) locked @ > /local/building/freebsd/HEAD/sys/kern/uipc_socket.c:884 panic: witness_warn > KDB: enter: panic > [thread pid 523 tid 100061 ] > Stopped at kdb_enter+0x31: leave Try this patch: Index: uipc_socket.c =================================================================== RCS file: /usr/cvs/src/sys/kern/uipc_socket.c,v retrieving revision 1.254 diff -u -r1.254 uipc_socket.c --- uipc_socket.c 28 Nov 2005 21:45:36 -0000 1.254 +++ uipc_socket.c 29 Nov 2005 21:28:16 -0000 @@ -716,7 +716,7 @@ } #define SBLOCKWAIT(f) (((f) & MSG_DONTWAIT) ? M_NOWAIT : M_WAITOK) -#define snderr(errno) { error = (errno); goto out; } +#define snderr(errno) { error = (errno); goto release; } /* * Send on a socket. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org