exynos-linux-stable/arch/sparc/lib
David S. Miller b9d68cdce7 sparc64: Fix exception handling in UltraSPARC-III memcpy.
[ Upstream commit 0ede1c401332173ab0693121dc6cde04a4dbf131 ]

Mikael Pettersson reported that some test programs in the strace-4.18
testsuite cause an OOPS.

After some debugging it turns out that garbage values are returned
when an exception occurs, causing the fixup memset() to be run with
bogus arguments.

The problem is that two of the exception handler stubs write the
successfully copied length into the wrong register.

Fixes: ee841d0aff ("sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.")
Reported-by: Mikael Pettersson <mikpelinux@gmail.com>
Tested-by: Mikael Pettersson <mikpelinux@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-11 08:49:34 -07:00
..
ashldi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
ashrdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
atomic32.c locking/atomic, arch/sparc: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:30 +02:00
atomic_64.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
bitext.c sparc/srmmu: clear trailing edge of bitmap properly 2013-03-31 19:29:12 -04:00
bitops.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
blockops.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
bzero.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
checksum_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
checksum_64.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
clear_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
cmpdi2.c [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. 2007-08-26 18:49:09 -07:00
copy_in_user.S sparc64: Convert copy_in_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
copy_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
copy_user.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
COPYING.LIB Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
csum_copy.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
csum_copy_from_user.S sparc64: Fix section attribute warnings. 2009-05-29 16:12:02 -07:00
csum_copy_to_user.S sparc64: Fix section attribute warnings. 2009-05-29 16:12:02 -07:00
divdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
ffs.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
GENbzero.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-14 14:00:20 +02:00
GENcopy_from_user.S sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
GENcopy_to_user.S sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
GENmemcpy.S sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
GENpage.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
GENpatch.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
hweight.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
iomap.c sparc: switch to GENERIC_PCI_IOMAP 2011-12-04 15:59:49 +02:00
ipcsum.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
libgcc.h [SPARC32]: Add __cmpdi2() libcall implementation ala. MIPS. 2007-08-26 18:49:09 -07:00
locks.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
lshrdi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
Makefile sparc64: Add __multi3 for gcc 7.x and later. 2017-06-14 15:05:53 +02:00
mcount.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memcmp.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memcpy.S sparc32: debride memcpy.S a bit 2016-08-07 23:55:49 -04:00
memmove.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memscan_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memscan_64.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
memset.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
muldi3.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
multi3.S sparc64: Add __multi3 for gcc 7.x and later. 2017-06-14 15:05:53 +02:00
NG2copy_from_user.S sparc64: Convert NG2copy_{from,to}_user to accurate exception reporting. 2016-10-24 20:46:44 -07:00
NG2copy_to_user.S sparc64: Convert NG2copy_{from,to}_user to accurate exception reporting. 2016-10-24 20:46:44 -07:00
NG2memcpy.S sparc64: Convert NG2copy_{from,to}_user to accurate exception reporting. 2016-10-24 20:46:44 -07:00
NG2patch.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
NG4clear_page.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NG4copy_from_user.S sparc64: Convert NG4copy_{from,to}_user to accurate exception reporting. 2016-10-24 18:58:05 -07:00
NG4copy_page.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NG4copy_to_user.S sparc64: Convert NG4copy_{from,to}_user to accurate exception reporting. 2016-10-24 18:58:05 -07:00
NG4memcpy.S sparc64: Convert NG4copy_{from,to}_user to accurate exception reporting. 2016-10-24 18:58:05 -07:00
NG4memset.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NG4patch.S sparc64: Niagara-4 bzero/memset, plus use MRU stores in page copy. 2012-10-05 13:45:26 -07:00
NGbzero.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-14 14:00:20 +02:00
NGcopy_from_user.S sparc64: Convert NGcopy_{from,to}_user to accurate exception reporting. 2016-10-24 19:32:12 -07:00
NGcopy_to_user.S sparc64: Convert NGcopy_{from,to}_user to accurate exception reporting. 2016-10-24 19:32:12 -07:00
NGmemcpy.S sparc64: Convert NGcopy_{from,to}_user to accurate exception reporting. 2016-10-24 19:32:12 -07:00
NGpage.S sparc64: Add SPARC-T4 optimized memcpy. 2012-09-27 00:35:11 -07:00
NGpatch.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
PeeCeeI.c sparc64: update IO access functions in PeeCeeI 2014-07-21 21:43:18 -07:00
strlen.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
strncmp_32.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
strncmp_64.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
U1copy_from_user.S sparc64: Convert U1copy_{from,to}_user to accurate exception reporting. 2016-10-24 11:32:12 -07:00
U1copy_to_user.S sparc64: Convert U1copy_{from,to}_user to accurate exception reporting. 2016-10-24 11:32:12 -07:00
U1memcpy.S sparc64: Convert U1copy_{from,to}_user to accurate exception reporting. 2016-10-24 11:32:12 -07:00
U3copy_from_user.S sparc64: Convert U3copy_{from,to}_user to accurate exception reporting. 2016-10-24 21:20:35 -07:00
U3copy_to_user.S sparc64: Convert U3copy_{from,to}_user to accurate exception reporting. 2016-10-24 21:20:35 -07:00
U3memcpy.S sparc64: Fix exception handling in UltraSPARC-III memcpy. 2017-08-11 08:49:34 -07:00
U3patch.S sparc,sparc64: unify lib/ 2008-12-04 09:17:19 -08:00
ucmpdi2.c sparc32: add ucmpdi2 2012-05-19 15:23:57 -07:00
udivdi3.S sparc32: Kill off software 32-bit multiply/divide routines. 2012-05-15 11:23:47 -07:00
VISsave.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
xor.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00