From owner-svn-src-all@FreeBSD.ORG Fri Mar 29 13:57:55 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C333E864; Fri, 29 Mar 2013 13:57:55 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B62BD726; Fri, 29 Mar 2013 13:57:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2TDvthF006799; Fri, 29 Mar 2013 13:57:55 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2TDvtmh006798; Fri, 29 Mar 2013 13:57:55 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201303291357.r2TDvtmh006798@svn.freebsd.org> From: Gleb Smirnoff Date: Fri, 29 Mar 2013 13:57:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r248884 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Mar 2013 13:57:55 -0000 Author: glebius Date: Fri Mar 29 13:57:55 2013 New Revision: 248884 URL: http://svnweb.freebsd.org/changeset/base/248884 Log: When soreceive_generic() hands off an mbuf from buffer, clear its pointer to next record, since next record belongs to the buffer, and shouldn't be leaked. The ng_ksocket(4) used to clear this pointer itself, but the correct place is here. Sponsored by: Nginx, Inc Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Fri Mar 29 13:53:14 2013 (r248883) +++ head/sys/kern/uipc_socket.c Fri Mar 29 13:57:55 2013 (r248884) @@ -1860,6 +1860,7 @@ dontblock: nextrecord = m->m_nextpkt; sbfree(&so->so_rcv, m); if (mp != NULL) { + m->m_nextpkt = NULL; *mp = m; mp = &m->m_next; so->so_rcv.sb_mb = m = m->m_next;