Date: Tue, 21 Apr 2009 19:14:13 +0000 (UTC) From: Maksim Yevmenkin <emax@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern uipc_sockbuf.c Message-ID: <200904211914.n3LJEQYI062182@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904211914.n3LJEQYI062182>