Re: Linux-1.3.36

Linus Torvalds (Linus.Torvalds@cs.Helsinki.FI)
Tue, 24 Oct 1995 16:08:09 +0200


Ok, Alan and I cleverly hid a extraneous line in the 1.3.36 linux kernel
sources, just to check how alert you beta testers actually are. I'm sad
to say that you don't seem to be very alert at all.. We had to fix it
all by ourselves.

Anyway, there is a pretty silly (and bad) bug in 1.3.36. In
net/ipv4/tcp.c, around line 1818, you'll find a line that looks
something like

seglen -= copy;

In _fact_, if you look a bit closer, you'll actually see _two_ of the
above lines close to each other. Now, if you remove one of them, the
kernel networking will work a lot better.

I'm including a patch here just to make it doubly obvious. The patch
has been cut-and-pasted and then edited a bit, so I won't promise you it
actually applies, but this one is actually easier to do by hand anyway..

Linus

----------
diff -u --recursive --new-file v1.3.36/linux/net/ipv4/tcp.c linux/net/ipv4/tcp.c
--- v1.3.36/linux/net/ipv4/tcp.c Mon Oct 23 18:02:23 1995
+++ linux/net/ipv4/tcp.c Tue Oct 24 15:23:06 1995
@@ -1816,7 +1816,6 @@
from += copy;
copied += copy;
len -= copy;
- seglen -= copy;
sk->write_seq += copy;
seglen -= copy;
}
----------