From owner-freebsd-bugs Thu Jan 10 18: 1:32 2002 Delivered-To: freebsd-bugs@freebsd.org Received: from centfs.cc.kagu.sut.ac.jp (centfs.cc.kagu.sut.ac.jp [133.31.20.51]) by hub.freebsd.org (Postfix) with ESMTP id A871F37B41A for ; Thu, 10 Jan 2002 18:01:28 -0800 (PST) Received: from localhost (cent522b.cc.kagu.sut.ac.jp [133.31.20.146]) by centfs.cc.kagu.sut.ac.jp (8.9.3/3.7Wpl2+patch2/fD_PbS/19991115) with ESMTP id LAA20277 for ; Fri, 11 Jan 2002 11:01:22 +0900 (JST) Date: Fri, 11 Jan 2002 11:00:45 +0900 (JST) Message-Id: <20020111.110045.36849318.hirano@cc.kagu.sut.ac.jp> To: freebsd-bugs@FreeBSD.ORG Subject: patch of m_pulldown function (4.4 release) From: Toshinori Hirano X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Dear bug report team. Please, check m_pulldown() of 4.4 release. This patch check that whether the mbuf "n->m_next" is a shared cluster or not, and the target is contained in the mbuf "n" and "n->m_next". I removed "(off == 0 || offp)" because the code within if clause set "off" to "0". ----- Toshinori Hirano E-mail: hirano@cc.kagu.sut.ac.jp --- src/sys/kern/uipc_mbuf2.c.ORG Tue Jul 3 20:01:37 2001 +++ src/sys/kern/uipc_mbuf2.c Fri Jan 11 09:35:35 2002 @@ -193,8 +193,8 @@ m_adj(n->m_next, tlen); goto ok; } - if ((off == 0 || offp) && M_LEADINGSPACE(n->m_next) >= hlen && - !sharedcluster) { + if (M_LEADINGSPACE(n->m_next) >= hlen && + !M_SHAREDCLUSTER(n->m_next) && n->m_next->m_len + hlen >= len) { n->m_next->m_data -= hlen; n->m_next->m_len += hlen; bcopy(mtod(n, caddr_t) + off, mtod(n->m_next, caddr_t), hlen); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message