[PATCH] Handle PACKET_TAG_IPFORWARD and TIMEWAIT state

Ed Maste emaste at freebsd.org
Thu Feb 28 19:10:36 UTC 2013


SVN rev 244157 introduced a fix for a crash in tcp_input() which would
occur in the case of a packet with a PACKET_TAG_IPFORWARD m_tag arriving
for a flow in TIMEWAIT.  Such packets resulted in a goto findpcb an a
double free of the m_tag.

Unfortunately the fix causes the fwd_tag to be lost for any subsequent
trips through the pcb lookup code.  The attached patch keeps the fwd_tag
around until finished with pcb lookup.

The #ifdef INET / INET6 is a bit torturous, but no worse than what was
there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fwd_tag_findpcb.diff
Type: text/x-diff
Size: 2628 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20130228/562b557a/attachment.diff>


More information about the freebsd-net mailing list