Przeglądaj źródła

[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>
Richard Purdie 19 lat temu
rodzic
commit
62500d1f8e
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      include/asm-arm/checksum.h

+ 1 - 1
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;
 }