summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/checksum.h
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-02-01 20:26:00 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-02-01 20:26:00 +0100
commit62500d1f8eadff078cca462dc4df035a29180383 (patch)
tree774ad280d77841292b0fb7bd1fe6f99251aa38c2 /include/asm-arm/checksum.h
parent[ARM] 3291/1: PXA27x: Correct get_clk_frequency_khz turbo flag handling (diff)
downloadlinux-62500d1f8eadff078cca462dc4df035a29180383.tar.xz
linux-62500d1f8eadff078cca462dc4df035a29180383.zip
[ARM] 3292/1: Fix memory corruption in asm-arm/checksum.h: ip_fast_csum()
Patch from Richard Purdie ip_fast_csum() accesses memory via a pointer (iph) within an asm function. To prevent memory corruption when the function is inlined, it needs "memory" on the clobber list. This fixes ip checksum errors reported by a Zaurus user. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/checksum.h')
-rw-r--r--include/asm-arm/checksum.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-arm/checksum.h b/include/asm-arm/checksum.h
index d4256d5f3a7c..747bdd31a74b 100644
--- a/include/asm-arm/checksum.h
+++ b/include/asm-arm/checksum.h
@@ -77,7 +77,7 @@ ip_fast_csum(unsigned char * iph, unsigned int ihl)
mov %0, %0, lsr #16"
: "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (tmp1)
: "1" (iph), "2" (ihl)
- : "cc");
+ : "cc", "memory");
return sum;
}