fix csum_ipv6_magic()
authorJiri Bohac <jbohac@suse.cz>
Wed, 2 Sep 2009 09:00:46 +0000 (11:00 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Dec 2009 21:30:58 +0000 (13:30 -0800)
commit89af7ec4eabe69cfe47d3975668d43d94d24f6c9
treeeeac2142417bfc458cf7d3f71c38a2d822f99841
parent96924acfccdb9b91c68cb649bbb5bab618dd002a
fix csum_ipv6_magic()

commit 5afe18d2f58812f3924edbd215464e5e3e8545e7 upstream.

The 32-bit parameters (len and csum) of csum_ipv6_magic() are passed in 64-bit
registers in2 and in4. The high order 32 bits of the registers were never
cleared, and garbage was sometimes calculated into the checksum.

Fix this by clearing the high order 32 bits of these registers.

Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Cc: Dennis Schridde <devurandom@gmx.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/ia64/lib/ip_fast_csum.S