linux_dsm_epyc7002/arch/sparc/lib
David S. Miller 0ede1c4013 sparc64: Fix exception handling in UltraSPARC-III memcpy.
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>
2017-08-04 09:47:52 -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
atomic_64.S sed regex in Makefile.build requires line break between exported symbols 2017-06-19 11:13:05 -07:00
bitext.c
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 Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
clear_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
cmpdi2.c
copy_in_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
copy_page.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
copy_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
COPYING.LIB
csum_copy_from_user.S
csum_copy_to_user.S
csum_copy.S Adding the type of exported symbols 2017-06-19 11:13:06 -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-09 12:16:25 -07:00
GENcopy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
GENcopy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
GENmemcpy.S sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting. 2016-10-24 11:31:58 -07:00
GENpage.S
GENpatch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
hweight.S sparc64: Use indirect calls in hamming weight stubs 2017-06-30 08:59:55 +09:00
iomap.c
ipcsum.S sparc: move exports to definitions 2016-08-07 23:55:43 -04:00
libgcc.h
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-05 11:30:33 -07: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 Adding the type of exported symbols 2017-06-19 11:13:06 -07:00
memset.S Adding the type of exported symbols 2017-06-19 11:13:06 -07: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-05 11:30:33 -07:00
NG2copy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG2copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG2memcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG2patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4clear_page.S
NG4copy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4copy_page.S
NG4copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NG4memcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG4memset.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NG4patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGbzero.S sparc64: fix fault handling in NGbzero.S and GENbzero.S 2017-05-09 12:16:25 -07:00
NGcopy_from_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGcopy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
NGmemcpy.S arch/sparc: Avoid DCTI Couples 2017-03-27 21:51:40 -07:00
NGpage.S
NGpatch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
PeeCeeI.c
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 sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
U1copy_to_user.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04: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 sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
U3memcpy.S sparc64: Fix exception handling in UltraSPARC-III memcpy. 2017-08-04 09:47:52 -07:00
U3patch.S sparc: switch to RAW_COPY_USER 2017-04-02 12:53:15 -04:00
ucmpdi2.c
udivdi3.S
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