android_kernel_google_msm/arch/powerpc/lib
Paul E. McKenney 0b36b7f617 powerpc: Restore registers on error exit from csum_partial_copy_generic()
commit 8f21bd0090 upstream.

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>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[bwh: Backported to 3.2: register name macros use lower-case 'r']
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Yijing Wang <wangyijing@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 10:51:21 -07:00
..
alloc.c
checksum_32.S
checksum_64.S powerpc: Restore registers on error exit from csum_partial_copy_generic() 2014-07-09 10:51:21 -07:00
checksum_wrappers_64.c
code-patching.c
copy_32.S
copypage_64.S
copyuser_64.S
copyuser_power7.S
copyuser_power7_vmx.c
crtsavres.S
devres.c
div64.S
feature-fixups-test.S
feature-fixups.c
hweight_64.S
ldstfp.S
locks.c
Makefile
mem_64.S
memcpy_64.S
rheap.c
sstep.c powerpc: fix typo 'CONFIG_PPC_CPU' 2014-07-06 18:49:20 -07:00
string.S
usercopy_64.c