TCP SYNs broken in 2.3.41

Andrea Arcangeli andrea en suse.de
Lun Ene 31 10:51:53 CST 2000


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 en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



Más información sobre la lista de distribución Ayuda