Skip site navigation (1)Skip section navigation (2)
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>