Hopefully this fixes http://bugzilla.kernel.org/show_bug.cgi?id=8635 The struct in6_addr passed to csum_ipv6_magic() is 4 byte aligned, so we can't use the regular 64-bit loads. Since the cost of handling of 4 byte and 1 byte aligned 64-bit data is roughly the same, this code can cope with any src/dst [mis]alignment. Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net> Cc: Dustin Marquess <jailbird@alcatraz.fdf.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| callback_srm.S | ||
| checksum.c | ||
| clear_page.S | ||
| clear_user.S | ||
| copy_page.S | ||
| copy_user.S | ||
| csum_ipv6_magic.S | ||
| csum_partial_copy.c | ||
| dbg_current.S | ||
| dbg_stackcheck.S | ||
| dbg_stackkill.S | ||
| dec_and_lock.c | ||
| divide.S | ||
| ev6-clear_page.S | ||
| ev6-clear_user.S | ||
| ev6-copy_page.S | ||
| ev6-copy_user.S | ||
| ev6-csum_ipv6_magic.S | ||
| ev6-divide.S | ||
| ev6-memchr.S | ||
| ev6-memcpy.S | ||
| ev6-memset.S | ||
| ev6-strncpy_from_user.S | ||
| ev6-stxcpy.S | ||
| ev6-stxncpy.S | ||
| ev67-strcat.S | ||
| ev67-strchr.S | ||
| ev67-strlen_user.S | ||
| ev67-strlen.S | ||
| ev67-strncat.S | ||
| ev67-strrchr.S | ||
| fls.c | ||
| fpreg.c | ||
| Makefile | ||
| memchr.S | ||
| memcpy.c | ||
| memmove.S | ||
| memset.S | ||
| srm_printk.c | ||
| srm_puts.c | ||
| stacktrace.c | ||
| strcat.S | ||
| strchr.S | ||
| strcpy.S | ||
| strlen_user.S | ||
| strlen.S | ||
| strncat.S | ||
| strncpy_from_user.S | ||
| strncpy.S | ||
| strrchr.S | ||
| stxcpy.S | ||
| stxncpy.S | ||
| udelay.c | ||