Messages in this thread Patch in this message | | | Date | Sun, 20 Oct 1996 19:42:14 -0700 (PDT) | From | Mark Johnson <> | Subject | ip_fragment.c patch not working? |
| |
I seem to be experiencing reboots, even with the patch. I am running 2.0.14 with Alan's SYN patch from an e-mail dated Sept 21st. It appears that this ip_fragment patch doesn't completely solve the problem(?). Maybe its just coincidence, but I've never experienced reboots like this.
I have had a logged oversized packet (with Jon's modified printk patch), and even tested things on a Win '95 box on the LAN. A couple hours later, I found my box rebooting again, out of the blue. Like usual, nothing in any logs, just a 'spontaneous' reboot. That makes 4 times today. Any help would be very, very much appreciated.
Here is the patch I am using:
--- ip_fragment.c.orig Wed Aug 7 07:00:08 1996 +++ ip_fragment.c Sat Oct 19 20:33:42 1996 @@ -47,6 +47,8 @@
atomic_t ip_frag_mem = 0; /* Memory used for fragments */
+char *in_ntoa(unsigned long in); + /* * Memory Tracking Functions */ @@ -366,7 +368,7 @@ { NETDEBUG(printk("Invalid fragment list: Fragment over size.\n")); ip_free(qp); - frag_kfree_skb(skb,FREE_WRITE); + kfree_skb(skb,FREE_WRITE); ip_statistics.IpReasmFails++; return NULL; } @@ -466,6 +468,19 @@ return NULL; } } + + /* + * Attempt to construct an oversize packet. + */ + + if(ntohs(iph->tot_len)+(int)offset>65535) + { + skb->sk = NULL; + printk("Oversized packet received from %s\n",in_ntoa(qp->iph->saddr)); + frag_kfree_skb(skb, FREE_READ); + ip_statistics.IpReasmFails++; + return NULL; + }
/* * Determine the position of this fragment.
| |