From: Paul E. McKenney Date: Tue, 1 Oct 2013 07:11:35 +0000 (+1000) Subject: powerpc: Restore registers on error exit from csum_partial_copy_generic() X-Git-Tag: v3.2.52~53 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b2d10f8f2e686c9f4b718251765f09f77ee8088;p=pandora-kernel.git powerpc: Restore registers on error exit from csum_partial_copy_generic() commit 8f21bd0090052e740944f9397e2be5ac7957ded7 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 Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt [bwh: Backported to 3.2: register name macros use lower-case 'r'] Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed