Messages in this thread | | | Date | Mon, 31 Jan 2000 13:07:56 +0100 (CET) | From | Andrea Arcangeli <> | Subject | Re: TCP SYNs broken in 2.3.41 |
| |
On Sun, 30 Jan 2000, David S. Miller wrote:
>alignment of packets. This means that all of your checksum support >needs to handle completely arbitrary alignment cases.
Oh yeah! The 2.3.41 (and previous) IA32 P6 checksum will buffer overflow of three bytes if 'addr&1 == 1' (see the movzbl). Everybody out there complained me when I spotted and fixed that buffer overflow in the assembler and they had their point that all the network code enforce 4byte alignment on packet addresses and thus they was perfectly right in using such hack to get better performance. Since by your statement they are very wrong (as I always thought :), my longstanding fix is still here:
ftp://ftp.*.kernel.org/pub/linux/kernel/people/andrea/patches/v2.3/2.3.17/chksum-2.gz
Andrea
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |