From owner-cvs-all Wed Dec 18 13: 3:43 2002 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 4382137B401; Wed, 18 Dec 2002 13:03:42 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0170F43EA9; Wed, 18 Dec 2002 13:03:42 -0800 (PST) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id gBIL3fmV012864; Wed, 18 Dec 2002 13:03:41 -0800 (PST) (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id gBIL3fKL012863; Wed, 18 Dec 2002 13:03:41 -0800 (PST) Message-Id: <200212182103.gBIL3fKL012863@repoman.freebsd.org> From: Robert Watson Date: Wed, 18 Dec 2002 13:03:41 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/net if_loop.c X-FreeBSD-CVS-Branch: RELENG_5_0 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG rwatson 2002/12/18 13:03:41 PST Modified files: (Branch: RELENG_5_0) sys/net if_loop.c Log: MFC if_loop.c:1.74: Under some circumstances, the loopback interface will allocate a new mbuf for a packet looping back to provide alignment guarantees for KAME. Unfortunately, this code performs a direct copy of the header rather than using a header copying primitive (largely because we have sucky header copying primitives). This results in a multiple free of the MAC label in the header when the same label data is freed twice when the two mbufs with that header are freed. As a temporary work-around, clear the initialized flag on the label to prevent the duplicate free, which prevents panics on large unaligned loopback IP and IPv6 data. The real fix is to improve and make use of proper packet header copying routines here. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories Approved by: re (jhb) Revision Changes Path 1.73.2.1 +10 -0 src/sys/net/if_loop.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message