Re: DoS - Linux 2.0.33 printk()

Ganesh Sittampalam (ganesh.sittampalam@magd.ox.ac.uk)
Sun, 19 Apr 1998 20:19:26 GMT


>Looks like there is another DoS floating around. This one apparently eats
>CPU by abusing the printk() function. (I havent looked in detail, so
>correct me if I'm wrong).
>
>Patch is included.

It doesn't seem to work (at least with kernel 2.0.32). I checked through and
found two occurrences of the "Oversized" printk so I stuck a NETDEBUG around the
second one as well and it seemed to stop it. Did I miss something?

--- linux/net/ipv4/ip_fragment.c.orig Thu Apr 16 16:24:49 1998
+++ linux/net/ipv4/ip_fragment.c Sun Apr 19 20:47:29 1998
@@ -345,7 +345,7 @@

if(len>65535)
{
- printk("Oversized IP packet from %s.\n",
in_ntoa(qp->iph->saddr));
+ NETDEBUG(printk("Oversized IP packet from %s.\n",
in_ntoa(qp->iph->saddr)));
ip_statistics.IpReasmFails++;
ip_free(qp);
return NULL;
@@ -489,7 +489,7 @@
if(ntohs(iph->tot_len)+(int)offset>65535)
{
skb->sk = NULL;
- printk("Oversized packet received from
%s\n",in_ntoa(iph->saddr));
+ NETDEBUG(printk("Oversized packet received from
%s\n",in_ntoa(iph->saddr)));
kfree_skb(skb, FREE_READ);
ip_statistics.IpReasmFails++;
return NULL;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu