[PATCH] fix bug in x86_64 csum_partial_copy_generic()

From: Dave Peterson
Date: Fri Jul 29 2005 - 18:42:03 EST


I was observing reproducible crashes on the "movw %bx,(%rsi)" instruction
below while a process in a recvfrom() system call was copying packet data
to user space. The patch below fixes the exception table and causes the
crash to no longer reproduce. Please apply.

Thanks,
Dave Peterson
<dsp@xxxxxxxx> <dave_peterson@xxxxxxxxx>

diff -urNp -X dontdiff linux-2.6.12.3/arch/x86_64/lib/csum-copy.S linux-2.6.12.3-bugfix/arch/x86_64/lib/csum-copy.S
--- linux-2.6.12.3/arch/x86_64/lib/csum-copy.S 2005-07-15 14:18:57.000000000 -0700
+++ linux-2.6.12.3-bugfix/arch/x86_64/lib/csum-copy.S 2005-07-29 16:06:47.000000000 -0700
@@ -188,8 +188,8 @@ csum_partial_copy_generic:
source
movw (%rdi),%bx
adcl %ebx,%eax
- dest
decl %ecx
+ dest
movw %bx,(%rsi)
leaq 2(%rdi),%rdi
leaq 2(%rsi),%rsi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/