linux/arch/powerpc/lib
Paul E. McKenney 8f21bd0090 powerpc: Restore registers on error exit from csum_partial_copy_generic()
The csum_partial_copy_generic() function saves the PowerPC non-volatile
r14, r15, and r16 registers for the main checksum-and-copy loop.
Unfortunately, it fails to restore them upon error exit from this loop,
which results in silent corruption of these registers in the presumably
rare event of an access exception within that loop.

This commit therefore restores these register on error exit from the loop.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-10-03 17:22:42 +10:00
..
alloc.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
checksum_32.S powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
checksum_64.S powerpc: Restore registers on error exit from csum_partial_copy_generic() 2013-10-03 17:22:42 +10:00
checksum_wrappers_64.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
code-patching.c powerpc: Don't use __put_user() in patch_instruction 2012-09-05 16:05:23 +10:00
copy_32.S powerpc: Fix incorrect .stabs entry for copy_32.S 2010-09-02 14:07:34 +10:00
copypage_64.S powerpc: POWER7 optimised copy_page using VMX and enhanced prefetch 2012-07-03 14:14:44 +10:00
copypage_power7.S powerpc/pseries: Improve stream generation comments in copypage/user 2013-06-01 08:29:26 +10:00
copyuser_64.S powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
copyuser_power7.S powerpc/pseries: Improve stream generation comments in copypage/user 2013-06-01 08:29:26 +10:00
crtsavres.S powerpc: Put the gpr save/restore functions in their own section 2012-07-11 14:19:59 +10:00
devres.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
div64.S powerpc: Fix a corner case in __div64_32 2005-10-20 09:37:02 +10:00
feature-fixups-test.S powerpc: Ensure the else case of feature sections will fit 2011-01-21 14:08:33 +11:00
feature-fixups.c powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
hweight_64.S powerpc: Fix usage of register macros getting ready for %r0 change 2012-07-10 19:17:55 +10:00
ldstfp.S powerpc: Fixes for instructions not using correct register naming 2012-07-10 19:18:16 +10:00
locks.c powerpc: Fix little endian lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:35 +10:00
Makefile uprobes/powerpc: Add dependency on single step emulation 2013-01-29 11:35:06 +11:00
mem_64.S powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
memcpy_64.S powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
memcpy_power7.S powerpc: Fix VMX fix for memcpy case 2012-10-04 18:02:43 +10:00
rheap.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
sstep.c powerpc: Remove ksp_limit on ppc64 2013-09-25 14:15:51 +10:00
string_64.S powerpc: Optimise the 64bit optimised __clear_user 2012-07-03 14:14:48 +10:00
string.S powerpc: 64bit optimised __clear_user 2012-07-03 14:14:41 +10:00
usercopy_64.c powerpc: Rename files to have consistent _32/_64 suffixes 2005-10-10 21:52:43 +10:00
vmx-helper.c powerpc: POWER7 optimised copy_page using VMX and enhanced prefetch 2012-07-03 14:14:44 +10:00