Re: Linux 2.2.16 through 2.2.18preX TCP hang bug triggered by rsync

David S. Miller (davem@redhat.com)
Thu, 25 Jan 2001 03:44:07 -0800 (PST)


Andi Kleen writes:
> > BSD and Solaris both make these kinds of packets, therefore it is must
> > to handle them properly. So we will fix Linux, there is no argument.
>
> How do you propose to handle them? Queue the data anyways or just process
> the ACK?

tcp_sequence returns two flag bits instead of it's current binary
state. One bit says "accept data", the other says "accept control
bits" (such as RST, ACK, etc.)

tcp_sequence also will truncate the data len of the SKB area if
necessary, BSD really puts total crap in the probe byte.

Callers of tcp_sequence check the return value bits accordingly.
This is all slow path code, so there are no performance issues.

Later,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/