Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Dec 2002 07:34:17 -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:  <200212181534.gBIFYH8g094929@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2002/12/18 07:34:17 PST

  Modified files:
    sys/net              if_loop.c 
  Log:
  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
  
  Revision  Changes    Path
  1.74      +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?200212181534.gBIFYH8g094929>