[3524] in linux-net channel archive

home help back first fref pref prev next nref lref last post

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


home help back first fref pref prev next nref lref last post