Date: Wed, 18 Dec 2002 13:03:41 -0800 (PST) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/net if_loop.c Message-ID: <200212182103.gBIL3fKL012863@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212182103.gBIL3fKL012863>