]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
remove powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Oct 2013 22:15:20 +0000 (15:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Oct 2013 22:15:20 +0000 (15:15 -0700)
queue-3.0/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch [deleted file]
queue-3.0/series
queue-3.4/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch [deleted file]
queue-3.4/series

diff --git a/queue-3.0/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch b/queue-3.0/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch
deleted file mode 100644 (file)
index 77c3e1c..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-From 8f21bd0090052e740944f9397e2be5ac7957ded7 Mon Sep 17 00:00:00 2001
-From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-Date: Tue, 1 Oct 2013 17:11:35 +1000
-Subject: powerpc: Restore registers on error exit from csum_partial_copy_generic()
-
-From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-
-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 <paulmck@linux.vnet.ibm.com>
-Signed-off-by: Anton Blanchard <anton@samba.org>
-Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/powerpc/lib/checksum_64.S |   54 ++++++++++++++++++++++++++++++-----------
- 1 file changed, 40 insertions(+), 14 deletions(-)
-
---- a/arch/powerpc/lib/checksum_64.S
-+++ b/arch/powerpc/lib/checksum_64.S
-@@ -229,19 +229,35 @@ _GLOBAL(csum_partial)
-       blr
--      .macro source
-+      .macro srcnr
- 100:
-       .section __ex_table,"a"
-       .align 3
--      .llong 100b,.Lsrc_error
-+      .llong 100b,.Lsrc_error_nr
-       .previous
-       .endm
--      .macro dest
-+      .macro source
-+150:
-+      .section __ex_table,"a"
-+      .align 3
-+      .llong 150b,.Lsrc_error
-+      .previous
-+      .endm
-+
-+      .macro dstnr
- 200:
-       .section __ex_table,"a"
-       .align 3
--      .llong 200b,.Ldest_error
-+      .llong 200b,.Ldest_error_nr
-+      .previous
-+      .endm
-+
-+      .macro dest
-+250:
-+      .section __ex_table,"a"
-+      .align 3
-+      .llong 250b,.Ldest_error
-       .previous
-       .endm
-@@ -277,11 +293,11 @@ _GLOBAL(csum_partial_copy_generic)
-       mtctr   r6
- 1:
--source;       lhz     r6,0(r3)                /* align to doubleword */
-+srcnr;        lhz     r6,0(r3)                /* align to doubleword */
-       subi    r5,r5,2
-       addi    r3,r3,2
-       adde    r0,r0,r6
--dest; sth     r6,0(r4)
-+dstnr;        sth     r6,0(r4)
-       addi    r4,r4,2
-       bdnz    1b
-@@ -395,10 +411,10 @@ dest;    std     r16,56(r4)
-       mtctr   r6
- 3:
--source;       ld      r6,0(r3)
-+srcnr;        ld      r6,0(r3)
-       addi    r3,r3,8
-       adde    r0,r0,r6
--dest; std     r6,0(r4)
-+dstnr;        std     r6,0(r4)
-       addi    r4,r4,8
-       bdnz    3b
-@@ -408,10 +424,10 @@ dest;    std     r6,0(r4)
-       srdi.   r6,r5,2
-       beq     .Lcopy_tail_halfword
--source;       lwz     r6,0(r3)
-+srcnr;        lwz     r6,0(r3)
-       addi    r3,r3,4
-       adde    r0,r0,r6
--dest; stw     r6,0(r4)
-+dstnr;        stw     r6,0(r4)
-       addi    r4,r4,4
-       subi    r5,r5,4
-@@ -419,10 +435,10 @@ dest;    stw     r6,0(r4)
-       srdi.   r6,r5,1
-       beq     .Lcopy_tail_byte
--source;       lhz     r6,0(r3)
-+srcnr;        lhz     r6,0(r3)
-       addi    r3,r3,2
-       adde    r0,r0,r6
--dest; sth     r6,0(r4)
-+dstnr;        sth     r6,0(r4)
-       addi    r4,r4,2
-       subi    r5,r5,2
-@@ -430,10 +446,10 @@ dest;    sth     r6,0(r4)
-       andi.   r6,r5,1
-       beq     .Lcopy_finish
--source;       lbz     r6,0(r3)
-+srcnr;        lbz     r6,0(r3)
-       sldi    r9,r6,8                 /* Pad the byte out to 16 bits */
-       adde    r0,r0,r9
--dest; stb     r6,0(r4)
-+dstnr;        stb     r6,0(r4)
- .Lcopy_finish:
-       addze   r0,r0                   /* add in final carry */
-@@ -443,6 +459,11 @@ dest;     stb     r6,0(r4)
-       blr
- .Lsrc_error:
-+      ld      r14,STK_REG(R14)(r1)
-+      ld      r15,STK_REG(R15)(r1)
-+      ld      r16,STK_REG(R16)(r1)
-+      addi    r1,r1,STACKFRAMESIZE
-+.Lsrc_error_nr:
-       cmpdi   0,r7,0
-       beqlr
-       li      r6,-EFAULT
-@@ -450,6 +471,11 @@ dest;     stb     r6,0(r4)
-       blr
- .Ldest_error:
-+      ld      r14,STK_REG(R14)(r1)
-+      ld      r15,STK_REG(R15)(r1)
-+      ld      r16,STK_REG(R16)(r1)
-+      addi    r1,r1,STACKFRAMESIZE
-+.Ldest_error_nr:
-       cmpdi   0,r8,0
-       beqlr
-       li      r6,-EFAULT
index a82cf84d0daf5809ad9392e566c2fedf95ee6ccc..537ac7ea2fba09db6af8c5aa14f2941d51df1fdd 100644 (file)
@@ -19,7 +19,6 @@ asoc-88pm860x-array-overflow-in-snd_soc_put_volsw_2r_st.patch
 powerpc-iommu-use-gfp_kernel-instead-of-gfp_atomic-in-iommu_init_table.patch
 powerpc-vio-fix-modalias_show-return-values.patch
 powerpc-fix-parameter-clobber-in-csum_partial_copy_generic.patch
-powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch
 esp_scsi-fix-tag-state-corruption-when-autosensing.patch
 sparc64-fix-itlb-handler-of-null-page.patch
 sparc64-remove-rwsem-export-leftovers.patch
diff --git a/queue-3.4/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch b/queue-3.4/powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch
deleted file mode 100644 (file)
index 77c3e1c..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-From 8f21bd0090052e740944f9397e2be5ac7957ded7 Mon Sep 17 00:00:00 2001
-From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-Date: Tue, 1 Oct 2013 17:11:35 +1000
-Subject: powerpc: Restore registers on error exit from csum_partial_copy_generic()
-
-From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
-
-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 <paulmck@linux.vnet.ibm.com>
-Signed-off-by: Anton Blanchard <anton@samba.org>
-Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/powerpc/lib/checksum_64.S |   54 ++++++++++++++++++++++++++++++-----------
- 1 file changed, 40 insertions(+), 14 deletions(-)
-
---- a/arch/powerpc/lib/checksum_64.S
-+++ b/arch/powerpc/lib/checksum_64.S
-@@ -229,19 +229,35 @@ _GLOBAL(csum_partial)
-       blr
--      .macro source
-+      .macro srcnr
- 100:
-       .section __ex_table,"a"
-       .align 3
--      .llong 100b,.Lsrc_error
-+      .llong 100b,.Lsrc_error_nr
-       .previous
-       .endm
--      .macro dest
-+      .macro source
-+150:
-+      .section __ex_table,"a"
-+      .align 3
-+      .llong 150b,.Lsrc_error
-+      .previous
-+      .endm
-+
-+      .macro dstnr
- 200:
-       .section __ex_table,"a"
-       .align 3
--      .llong 200b,.Ldest_error
-+      .llong 200b,.Ldest_error_nr
-+      .previous
-+      .endm
-+
-+      .macro dest
-+250:
-+      .section __ex_table,"a"
-+      .align 3
-+      .llong 250b,.Ldest_error
-       .previous
-       .endm
-@@ -277,11 +293,11 @@ _GLOBAL(csum_partial_copy_generic)
-       mtctr   r6
- 1:
--source;       lhz     r6,0(r3)                /* align to doubleword */
-+srcnr;        lhz     r6,0(r3)                /* align to doubleword */
-       subi    r5,r5,2
-       addi    r3,r3,2
-       adde    r0,r0,r6
--dest; sth     r6,0(r4)
-+dstnr;        sth     r6,0(r4)
-       addi    r4,r4,2
-       bdnz    1b
-@@ -395,10 +411,10 @@ dest;    std     r16,56(r4)
-       mtctr   r6
- 3:
--source;       ld      r6,0(r3)
-+srcnr;        ld      r6,0(r3)
-       addi    r3,r3,8
-       adde    r0,r0,r6
--dest; std     r6,0(r4)
-+dstnr;        std     r6,0(r4)
-       addi    r4,r4,8
-       bdnz    3b
-@@ -408,10 +424,10 @@ dest;    std     r6,0(r4)
-       srdi.   r6,r5,2
-       beq     .Lcopy_tail_halfword
--source;       lwz     r6,0(r3)
-+srcnr;        lwz     r6,0(r3)
-       addi    r3,r3,4
-       adde    r0,r0,r6
--dest; stw     r6,0(r4)
-+dstnr;        stw     r6,0(r4)
-       addi    r4,r4,4
-       subi    r5,r5,4
-@@ -419,10 +435,10 @@ dest;    stw     r6,0(r4)
-       srdi.   r6,r5,1
-       beq     .Lcopy_tail_byte
--source;       lhz     r6,0(r3)
-+srcnr;        lhz     r6,0(r3)
-       addi    r3,r3,2
-       adde    r0,r0,r6
--dest; sth     r6,0(r4)
-+dstnr;        sth     r6,0(r4)
-       addi    r4,r4,2
-       subi    r5,r5,2
-@@ -430,10 +446,10 @@ dest;    sth     r6,0(r4)
-       andi.   r6,r5,1
-       beq     .Lcopy_finish
--source;       lbz     r6,0(r3)
-+srcnr;        lbz     r6,0(r3)
-       sldi    r9,r6,8                 /* Pad the byte out to 16 bits */
-       adde    r0,r0,r9
--dest; stb     r6,0(r4)
-+dstnr;        stb     r6,0(r4)
- .Lcopy_finish:
-       addze   r0,r0                   /* add in final carry */
-@@ -443,6 +459,11 @@ dest;     stb     r6,0(r4)
-       blr
- .Lsrc_error:
-+      ld      r14,STK_REG(R14)(r1)
-+      ld      r15,STK_REG(R15)(r1)
-+      ld      r16,STK_REG(R16)(r1)
-+      addi    r1,r1,STACKFRAMESIZE
-+.Lsrc_error_nr:
-       cmpdi   0,r7,0
-       beqlr
-       li      r6,-EFAULT
-@@ -450,6 +471,11 @@ dest;     stb     r6,0(r4)
-       blr
- .Ldest_error:
-+      ld      r14,STK_REG(R14)(r1)
-+      ld      r15,STK_REG(R15)(r1)
-+      ld      r16,STK_REG(R16)(r1)
-+      addi    r1,r1,STACKFRAMESIZE
-+.Ldest_error_nr:
-       cmpdi   0,r8,0
-       beqlr
-       li      r6,-EFAULT
index e4994e01ed899d156fa279c27a96a91b3a605a4e..af9fd99cad3874c3373eb2096cbd966eae78f143 100644 (file)
@@ -22,7 +22,6 @@ asoc-88pm860x-array-overflow-in-snd_soc_put_volsw_2r_st.patch
 powerpc-iommu-use-gfp_kernel-instead-of-gfp_atomic-in-iommu_init_table.patch
 powerpc-vio-fix-modalias_show-return-values.patch
 powerpc-fix-parameter-clobber-in-csum_partial_copy_generic.patch
-powerpc-restore-registers-on-error-exit-from-csum_partial_copy_generic.patch
 bluetooth-fix-security-level-for-peripheral-role.patch
 bluetooth-fix-encryption-key-size-for-peripheral-role.patch
 esp_scsi-fix-tag-state-corruption-when-autosensing.patch