diff options
| author | Paolo \'Blaisorblade\' Giarrusso <blaisorblade_spam@yahoo.it> | 2004-10-13 07:31:33 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-10-13 07:31:33 -0700 |
| commit | bc8b70fc00348268ed9981437f26cad84d0d681c (patch) | |
| tree | f4ba9af0838634529dcdf630c6d4afdbaffa6fed /include/linux/dvb | |
| parent | 5216d135b7d2ebc48dad12ffaddce96bd2250c10 (diff) | |
[PATCH] uml: fix critical IP checksum corruption
From: Lars Ellenberg <Lars.Ellenberg@linbit.com>
Add a memory barrier to the assembly checksum code - the code was copied
straight from the i386 one, and the patch resyncs the code with the
original. I'll check if the original code can be included directly (i.e.
"#include") after 2.6.9.
Without this patch, every 2.6 UML release corrupts the checksum of every
UDP fragmented packet with size >= MTU (verified by various people, we all
agree on this issue; nobody reported "Works fine here"). The corrupted
packets are not accepted, thus blocking any kind of communication with
large-sized UDP packets.
In fact, I've even dissected the UML -> host traffic before and after this
patch with Ethereal - and it always reported an incorrect checksum for
fragmented UDP packets before and always correct after applying the patch.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/dvb')
0 files changed, 0 insertions, 0 deletions
