[3524] in linux-net channel archive
Re: Very bad 2.0 bug: causes skb_push panic in tcp
daemon@ATHENA.MIT.EDU (tony@trishul.sci.gu.edu.au)
Fri Jun 28 11:21:23 1996
Date: Fri, 28 Jun 1996 09:36:41 +1000
To: alan@cymru.net, linux-net@vger.rutgers.edu
Cc: torvalds@cs.helsinki.fi
From: tony@trishul.sci.gu.edu.au
Alan Cox wrote:
> Subject: Very bad 2.0 bug: causes skb_push panic in tcp
> From: iialan@lusers.are.not.humans.org (Alan Cox)
(This is a joke, right? :)
> ip_send_room should have the skb_reserve(skb, MAX_HEADER) before the
> dev->hard_header test.
I presume this is the patch for it...
diff -u /usr/src/linux/net/ipv4/ip_output.c.orig /usr/src/linux/net/ipv4/ip_output.c
--- /usr/src/linux/net/ipv4/ip_output.c.orig Fri Jun 7 04:22:24 1996
+++ /usr/src/linux/net/ipv4/ip_output.c Fri Jun 28 09:31:17 1996
@@ -160,9 +160,9 @@
skb->dev = dev;
skb->arp = 1;
skb->protocol = htons(ETH_P_IP);
+ skb_reserve(skb,MAX_HEADER);
if (dev->hard_header)
{
- skb_reserve(skb,MAX_HEADER);
if (rt && dev == rt->rt_dev && rt->rt_hh)
{
memcpy(skb_push(skb,dev->hard_header_len),rt->rt_hh->hh_data,dev->hard_header_len);
Cheers
Tony