From owner-cvs-src-old@FreeBSD.ORG Tue Apr 21 19:14:26 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92FFA10656D4 for ; Tue, 21 Apr 2009 19:14:26 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7FAA78FC17 for ; Tue, 21 Apr 2009 19:14:26 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n3LJEQGq062183 for ; Tue, 21 Apr 2009 19:14:26 GMT (envelope-from emax@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n3LJEQYI062182 for cvs-src-old@freebsd.org; Tue, 21 Apr 2009 19:14:26 GMT (envelope-from emax@repoman.freebsd.org) Message-Id: <200904211914.n3LJEQYI062182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to emax@repoman.freebsd.org using -f From: Maksim Yevmenkin Date: Tue, 21 Apr 2009 19:14:13 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern uipc_sockbuf.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2009 19:14:26 -0000 emax 2009-04-21 19:14:13 UTC FreeBSD src repository Modified files: sys/kern uipc_sockbuf.c Log: SVN rev 191366 on 2009-04-21 19:14:13Z by emax Fix sbappendrecord_locked(). The main problem is that sbappendrecord_locked() relies on sbcompress() to set sb_mbtail. This will not happen if sbappendrecord_locked() is called with mbuf chain made of exactly one mbuf (i.e. m0->m_next == NULL). In this case sbcompress() will be called with m == NULL and will do nothing. I'm not entirely sure if m == NULL is a valid argument for sbcompress(), and, it rather pointless to call it like that, but keep calling it so it can do SBLASTMBUFCHK(). The problem is triggered by the SOCKBUF_DEBUG kernel option that enables SBLASTRECORDCHK() and SBLASTMBUFCHK() checks. PR: kern/126742 Investigated by: pluknet < pluknet -at- gmail -dot- com > No response from: freebsd-current@, freebsd-bluetooth@ MFC after: 3 days Revision Changes Path 1.180 +2 -8 src/sys/kern/uipc_sockbuf.c