kernel_samsung_a53x/arch/sparc/lib
Al Viro 00204b9faa sparc32: fix a braino in fault handling in csum_and_copy_..._user()
commit 1f36cd05e0081f2c75769a551d584c4ffb2a5660 upstream.

Fault handler used to make non-trivial calls, so it needed
to set a stack frame up.  Used to be
	save ... - grab a stack frame, old %o... become %i...
	....
	ret	- go back to address originally in %o7, currently %i7
	 restore - switch to previous stack frame, in delay slot
Non-trivial calls had been gone since ab5e8b331244 and that code should
have become
	retl	- go back to address in %o7
	 clr %o0 - have return value set to 0
What it had become instead was
	ret	- go back to address in %i7 - return address of *caller*
	 clr %o0 - have return value set to 0
which is not good, to put it mildly - we forcibly return 0 from
csum_and_copy_{from,to}_iter() (which is what the call of that
thing had been inlined into) and do that without dropping the
stack frame of said csum_and_copy_..._iter().  Confuses the
hell out of the caller of csum_and_copy_..._iter(), obviously...

Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Fixes: ab5e8b331244 "sparc32: propagate the calling conventions change down to __csum_partial_copy_sparc_generic()"
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-18 10:58:31 +01:00
..
ashldi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ashrdi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atomic32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atomic_64.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bitext.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bitops.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
blockops.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bzero.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checksum_32.S sparc32: fix a braino in fault handling in csum_and_copy_..._user() 2024-11-18 10:58:31 +01:00
checksum_64.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
clear_page.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cmpdi2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
copy_in_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
copy_page.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
copy_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
csum_copy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
csum_copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
csum_copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
divdi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ffs.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fls.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fls64.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENbzero.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENcopy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENcopy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENmemcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENpage.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
GENpatch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hweight.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
iomap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ipcsum.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
libgcc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
locks.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lshrdi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
M7copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
M7copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
M7memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
M7memset.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
M7patch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mcount.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memcmp.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Memcpy_utils.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memmove.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memscan_32.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memscan_64.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
memset.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
muldi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
multi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG2copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG2copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG2memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG2patch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4clear_page.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4copy_page.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4fls.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4memset.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NG4patch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGbzero.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGcopy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGcopy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGmemcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGpage.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
NGpatch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
PeeCeeI.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
strlen.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
strncmp_32.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
strncmp_64.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U1copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U1copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U1memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U3copy_from_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U3copy_to_user.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U3memcpy.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
U3patch.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ucmpdi2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
udivdi3.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
VISsave.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xor.S Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00