浏览代码

parisc: fix ipv6 checksum

ipv6 recently started exhibiting the same symptoms as ipv4 was, add
a memory clobber around inline checksum assembly that fribbles memory
to ensure gcc doesn't erroneously cache across it.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin 16 年之前
父节点
当前提交
5fbf6635a9
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/parisc/include/asm/checksum.h

+ 1 - 1
arch/parisc/include/asm/checksum.h

@@ -182,7 +182,7 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
 #endif
 	: "=r" (sum), "=r" (saddr), "=r" (daddr), "=r" (len)
 	: "0" (sum), "1" (saddr), "2" (daddr), "3" (len), "r" (proto)
-	: "r19", "r20", "r21", "r22");
+	: "r19", "r20", "r21", "r22", "memory");
 	return csum_fold(sum);
 }