linux/arch/sparc
Tkhai Kirill b1054282d7 sparc32: Fixed unaligned memory copying in function __csum_partial_copy_sparc_generic
When we are in the label cc_dword_align, registers %o0 and %o1 have the same last 2 bits,
but it's not guaranteed one of them is zero. So we can get unaligned memory access
in label ccte. Example of parameters which lead to this:
%o0=0x7ff183e9, %o1=0x8e709e7d, %g1=3

With the parameters I had a memory corruption, when the additional 5 bytes were rewritten.
This patch corrects the error.

One comment to the patch. We don't care about the third bit in %o1, because cc_end_cruft
stores word or less.

Signed-off-by: Tkhai Kirill <tkhai@yandex.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-11 21:35:04 -07:00
..
boot sparc32: added U-Boot build target: uImage 2011-03-16 18:19:04 -07:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
include/asm Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6 2011-04-07 11:14:49 -07:00
kernel sparc32: fix sparcstation 5 boot 2011-04-21 16:35:46 -07:00
lib sparc32: Fixed unaligned memory copying in function __csum_partial_copy_sparc_generic 2011-05-11 21:35:04 -07:00
math-emu Fix common misspellings 2011-03-31 11:26:23 -03:00
mm lib, arch: add filter argument to show_mem and fix private implementations 2011-03-24 17:49:37 -07:00
oprofile sparc: using HZ needs an include of linux/param.h 2009-10-05 00:46:08 -07:00
prom sparc32: remove tick14.c 2011-03-16 18:19:08 -07:00
Kconfig genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
Kconfig.debug sparc: Kill user copy check code. 2010-08-09 00:45:46 -07:00
Makefile sparc32: added U-Boot build target: uImage 2011-03-16 18:19:04 -07:00