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>
This commit is contained in:
Родитель
6525ee55bb
Коммит
5fbf6635a9
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче