linux/arch/sh
Ollie Wild 24ab54cb49 sh: Fix TCP payload csum bug in csum_partial_copy_generic().
There's a bug in the Hitachi SuperH csum_partial_copy_generic()
implementation.  If the supplied length is 1 (and several alignment
conditions are met), the function immediately branches to label 4.
However, the assembly at label 4 expects the length to be stored in
register r2.  Since this has not occurred, subsequent behavior is
undefined.

This can cause bad payload checksums in TCP connections.

I've fixed the problem by initializing register r2 prior to the branch
instruction.

Signed-off-by: Ollie Wild <aaw@rincewind.tv>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27 14:46:24 +09:00
..
boards sh: RTS7751R2D board updates. 2006-09-27 14:02:09 +09:00
boot Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cchips sh: Move hd64461.h to a more sensible location. 2006-09-27 13:42:57 +09:00
configs [PATCH] sh: SH4-202 microdev updates 2006-02-01 08:53:19 -08:00
drivers sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
kernel sh: Wire up new syscalls. 2006-09-27 14:36:44 +09:00
lib sh: Fix TCP payload csum bug in csum_partial_copy_generic(). 2006-09-27 14:46:24 +09:00
mm sh: Fix fatal oops in copy_user_page() on sh4a (SH7780). 2006-09-27 14:38:02 +09:00
oprofile sh: Add SH7750S/SH7091 rules for SH7750 oprofile driver. 2006-09-27 14:30:11 +09:00
tools [PATCH] sh: consolidate hp620/hp680/hp690 targets into hp6xx 2006-01-16 23:15:27 -08:00
Kconfig sh: RTS7751R2D board updates. 2006-09-27 14:02:09 +09:00
Kconfig.debug [PATCH] sh: Move CPU subtype configuration to its own Kconfig 2006-01-16 23:15:28 -08:00
Makefile sh: hp6xx mach-type cleanups. 2006-09-27 13:07:38 +09:00