linux-stable-rt/arch/sparc/lib
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
..
COPYING.LIB
GENbzero.S
GENcopy_from_user.S
GENcopy_to_user.S
GENmemcpy.S
GENpage.S
GENpatch.S
Makefile
NG2copy_from_user.S
NG2copy_to_user.S
NG2memcpy.S
NG2page.S
NG2patch.S
NGbzero.S
NGcopy_from_user.S
NGcopy_to_user.S
NGmemcpy.S
NGpage.S
NGpatch.S
PeeCeeI.c
U1copy_from_user.S
U1copy_to_user.S
U1memcpy.S
U3copy_from_user.S
U3copy_to_user.S
U3memcpy.S
U3patch.S
VISsave.S
ashldi3.S
ashrdi3.S
atomic32.c
atomic_32.S
atomic_64.S
bitext.c
bitops.S
blockops.S
bzero.S
checksum_32.S sparc32: Fixed unaligned memory copying in function __csum_partial_copy_sparc_generic 2011-05-11 21:35:04 -07:00
checksum_64.S
clear_page.S
cmpdi2.c
copy_in_user.S
copy_page.S
copy_user.S
csum_copy.S
csum_copy_from_user.S
csum_copy_to_user.S
divdi3.S
iomap.c
ipcsum.S
ksyms.c
libgcc.h
locks.S
lshrdi3.S
mcount.S
memcmp.S
memcpy.S
memmove.S
memscan_32.S
memscan_64.S
memset.S
mul.S
muldi3.S
rem.S
rwsem_32.S
sdiv.S
strlen.S
strlen_user_32.S
strlen_user_64.S
strncmp_32.S
strncmp_64.S
strncpy_from_user_32.S
strncpy_from_user_64.S
udiv.S
udivdi3.S
umul.S
urem.S
user_fixup.c
usercopy.c
xor.S