From: Greg Kroah-Hartman Date: Sun, 20 May 2018 16:54:27 +0000 (+0200) Subject: drop some more s390 patches X-Git-Tag: v4.9.102~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a0bf30d4ecc1e592cfe8210b9694f5bce4fd5b4;p=thirdparty%2Fkernel%2Fstable-queue.git drop some more s390 patches --- diff --git a/queue-4.14/s390-crc32-vx-use-expoline-for-indirect-branches.patch b/queue-4.14/s390-crc32-vx-use-expoline-for-indirect-branches.patch deleted file mode 100644 index 2fb4aa6ca33..00000000000 --- a/queue-4.14/s390-crc32-vx-use-expoline-for-indirect-branches.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 467a3bf219cee12259182c5cb4821f88fd518a51 Mon Sep 17 00:00:00 2001 -From: Martin Schwidefsky -Date: Mon, 23 Apr 2018 14:31:36 +0200 -Subject: s390/crc32-vx: use expoline for indirect branches - -From: Martin Schwidefsky - -commit 467a3bf219cee12259182c5cb4821f88fd518a51 upstream. - -The return from the crc32_le_vgfm_16/crc32c_le_vgfm_16 and the -crc32_be_vgfm_16 functions are done with "br %r14". These are indirect -branches as well and need to use execute trampolines for CONFIG_EXPOLINE=y. - -Cc: stable@vger.kernel.org # 4.16 -Fixes: f19fbd5ed6 ("s390: introduce execute-trampolines for branches") -Reviewed-by: Hendrik Brueckner -Signed-off-by: Martin Schwidefsky -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/crypto/crc32be-vx.S | 5 ++++- - arch/s390/crypto/crc32le-vx.S | 4 +++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/arch/s390/crypto/crc32be-vx.S -+++ b/arch/s390/crypto/crc32be-vx.S -@@ -13,6 +13,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -67,6 +68,8 @@ - - .previous - -+ GEN_BR_THUNK %r14 -+ - .text - /* - * The CRC-32 function(s) use these calling conventions: -@@ -203,6 +206,6 @@ ENTRY(crc32_be_vgfm_16) - - .Ldone: - VLGVF %r2,%v2,3 -- br %r14 -+ BR_EX %r14 - - .previous ---- a/arch/s390/crypto/crc32le-vx.S -+++ b/arch/s390/crypto/crc32le-vx.S -@@ -14,6 +14,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -76,6 +77,7 @@ - - .previous - -+ GEN_BR_THUNK %r14 - - .text - -@@ -264,6 +266,6 @@ crc32_le_vgfm_generic: - - .Ldone: - VLGVF %r2,%v2,2 -- br %r14 -+ BR_EX %r14 - - .previous diff --git a/queue-4.14/s390-kernel-use-expoline-for-indirect-branches.patch b/queue-4.14/s390-kernel-use-expoline-for-indirect-branches.patch deleted file mode 100644 index 42048c87db1..00000000000 --- a/queue-4.14/s390-kernel-use-expoline-for-indirect-branches.patch +++ /dev/null @@ -1,165 +0,0 @@ -From c50c84c3ac4d5db683904bdb3257798b6ef980ae Mon Sep 17 00:00:00 2001 -From: Martin Schwidefsky -Date: Wed, 25 Apr 2018 18:41:30 +0200 -Subject: s390/kernel: use expoline for indirect branches - -From: Martin Schwidefsky - -commit c50c84c3ac4d5db683904bdb3257798b6ef980ae upstream. - -The assember code in arch/s390/kernel uses a few more indirect branches -which need to be done with execute trampolines for CONFIG_EXPOLINE=y. - -Cc: stable@vger.kernel.org # 4.16 -Fixes: f19fbd5ed6 ("s390: introduce execute-trampolines for branches") -Reviewed-by: Hendrik Brueckner -Signed-off-by: Martin Schwidefsky -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/kernel/base.S | 24 ++++++++++++++---------- - arch/s390/kernel/reipl.S | 7 +++++-- - arch/s390/kernel/swsusp.S | 10 ++++++---- - 3 files changed, 25 insertions(+), 16 deletions(-) - ---- a/arch/s390/kernel/base.S -+++ b/arch/s390/kernel/base.S -@@ -9,18 +9,22 @@ - - #include - #include -+#include - #include - #include - -+ GEN_BR_THUNK %r9 -+ GEN_BR_THUNK %r14 -+ - ENTRY(s390_base_mcck_handler) - basr %r13,0 - 0: lg %r15,__LC_PANIC_STACK # load panic stack - aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_mcck_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - 1: la %r1,4095 - lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1) - lpswe __LC_MCK_OLD_PSW -@@ -37,10 +41,10 @@ ENTRY(s390_base_ext_handler) - basr %r13,0 - 0: aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_ext_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - 1: lmg %r0,%r15,__LC_SAVE_AREA_ASYNC - ni __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit - lpswe __LC_EXT_OLD_PSW -@@ -57,10 +61,10 @@ ENTRY(s390_base_pgm_handler) - basr %r13,0 - 0: aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_pgm_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - lmg %r0,%r15,__LC_SAVE_AREA_SYNC - lpswe __LC_PGM_OLD_PSW - 1: lpswe disabled_wait_psw-0b(%r13) -@@ -117,7 +121,7 @@ ENTRY(diag308_reset) - larl %r4,.Lcontinue_psw # Restore PSW flags - lpswe 0(%r4) - .Lcontinue: -- br %r14 -+ BR_EX %r14 - .align 16 - .Lrestart_psw: - .long 0x00080000,0x80000000 + .Lrestart_part2 ---- a/arch/s390/kernel/reipl.S -+++ b/arch/s390/kernel/reipl.S -@@ -7,8 +7,11 @@ - - #include - #include -+#include - #include - -+ GEN_BR_THUNK %r9 -+ - # - # Issue "store status" for the current CPU to its prefix page - # and call passed function afterwards -@@ -67,9 +70,9 @@ ENTRY(store_status) - st %r4,0(%r1) - st %r5,4(%r1) - stg %r2,8(%r1) -- lgr %r1,%r2 -+ lgr %r9,%r2 - lgr %r2,%r3 -- br %r1 -+ BR_EX %r9 - - .section .bss - .align 8 ---- a/arch/s390/kernel/swsusp.S -+++ b/arch/s390/kernel/swsusp.S -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - #include - - /* -@@ -24,6 +25,8 @@ - * (see below) in the resume process. - * This function runs with disabled interrupts. - */ -+ GEN_BR_THUNK %r14 -+ - .section .text - ENTRY(swsusp_arch_suspend) - stmg %r6,%r15,__SF_GPRS(%r15) -@@ -103,7 +106,7 @@ ENTRY(swsusp_arch_suspend) - spx 0x318(%r1) - lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) - lghi %r2,0 -- br %r14 -+ BR_EX %r14 - - /* - * Restore saved memory image to correct place and restore register context. -@@ -197,11 +200,10 @@ pgm_check_entry: - larl %r15,init_thread_union - ahi %r15,1<<(PAGE_SHIFT+THREAD_SIZE_ORDER) - larl %r2,.Lpanic_string -- larl %r3,sclp_early_printk - lghi %r1,0 - sam31 - sigp %r1,%r0,SIGP_SET_ARCHITECTURE -- basr %r14,%r3 -+ brasl %r14,sclp_early_printk - larl %r3,.Ldisabled_wait_31 - lpsw 0(%r3) - 4: -@@ -267,7 +269,7 @@ restore_registers: - /* Return 0 */ - lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) - lghi %r2,0 -- br %r14 -+ BR_EX %r14 - - .section .data..nosave,"aw",@progbits - .align 8 diff --git a/queue-4.14/series b/queue-4.14/series index c3fe25f77ea..9de5fb22278 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -25,9 +25,7 @@ lib-test_bitmap.c-fix-bitmap-optimisation-tests-to-report-errors-correctly.patch radix-tree-fix-multi-order-iteration-race.patch mm-don-t-allow-deferred-pages-with-need_per_cpu_km.patch drm-i915-gen9-add-waclearhiz_wm_chicken3-for-bxt-and-glk.patch -s390-crc32-vx-use-expoline-for-indirect-branches.patch s390-qdio-fix-access-to-uninitialized-qdio_q-fields.patch s390-cpum_sf-ensure-sample-frequency-of-perf-event-attributes-is-non-zero.patch s390-qdio-don-t-release-memory-in-qdio_setup_irq.patch -s390-kernel-use-expoline-for-indirect-branches.patch s390-remove-indirect-branch-from-do_softirq_own_stack.patch diff --git a/queue-4.16/s390-crc32-vx-use-expoline-for-indirect-branches.patch b/queue-4.16/s390-crc32-vx-use-expoline-for-indirect-branches.patch deleted file mode 100644 index 2fb4aa6ca33..00000000000 --- a/queue-4.16/s390-crc32-vx-use-expoline-for-indirect-branches.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 467a3bf219cee12259182c5cb4821f88fd518a51 Mon Sep 17 00:00:00 2001 -From: Martin Schwidefsky -Date: Mon, 23 Apr 2018 14:31:36 +0200 -Subject: s390/crc32-vx: use expoline for indirect branches - -From: Martin Schwidefsky - -commit 467a3bf219cee12259182c5cb4821f88fd518a51 upstream. - -The return from the crc32_le_vgfm_16/crc32c_le_vgfm_16 and the -crc32_be_vgfm_16 functions are done with "br %r14". These are indirect -branches as well and need to use execute trampolines for CONFIG_EXPOLINE=y. - -Cc: stable@vger.kernel.org # 4.16 -Fixes: f19fbd5ed6 ("s390: introduce execute-trampolines for branches") -Reviewed-by: Hendrik Brueckner -Signed-off-by: Martin Schwidefsky -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/crypto/crc32be-vx.S | 5 ++++- - arch/s390/crypto/crc32le-vx.S | 4 +++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/arch/s390/crypto/crc32be-vx.S -+++ b/arch/s390/crypto/crc32be-vx.S -@@ -13,6 +13,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -67,6 +68,8 @@ - - .previous - -+ GEN_BR_THUNK %r14 -+ - .text - /* - * The CRC-32 function(s) use these calling conventions: -@@ -203,6 +206,6 @@ ENTRY(crc32_be_vgfm_16) - - .Ldone: - VLGVF %r2,%v2,3 -- br %r14 -+ BR_EX %r14 - - .previous ---- a/arch/s390/crypto/crc32le-vx.S -+++ b/arch/s390/crypto/crc32le-vx.S -@@ -14,6 +14,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -76,6 +77,7 @@ - - .previous - -+ GEN_BR_THUNK %r14 - - .text - -@@ -264,6 +266,6 @@ crc32_le_vgfm_generic: - - .Ldone: - VLGVF %r2,%v2,2 -- br %r14 -+ BR_EX %r14 - - .previous diff --git a/queue-4.16/s390-kernel-use-expoline-for-indirect-branches.patch b/queue-4.16/s390-kernel-use-expoline-for-indirect-branches.patch deleted file mode 100644 index 42048c87db1..00000000000 --- a/queue-4.16/s390-kernel-use-expoline-for-indirect-branches.patch +++ /dev/null @@ -1,165 +0,0 @@ -From c50c84c3ac4d5db683904bdb3257798b6ef980ae Mon Sep 17 00:00:00 2001 -From: Martin Schwidefsky -Date: Wed, 25 Apr 2018 18:41:30 +0200 -Subject: s390/kernel: use expoline for indirect branches - -From: Martin Schwidefsky - -commit c50c84c3ac4d5db683904bdb3257798b6ef980ae upstream. - -The assember code in arch/s390/kernel uses a few more indirect branches -which need to be done with execute trampolines for CONFIG_EXPOLINE=y. - -Cc: stable@vger.kernel.org # 4.16 -Fixes: f19fbd5ed6 ("s390: introduce execute-trampolines for branches") -Reviewed-by: Hendrik Brueckner -Signed-off-by: Martin Schwidefsky -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/kernel/base.S | 24 ++++++++++++++---------- - arch/s390/kernel/reipl.S | 7 +++++-- - arch/s390/kernel/swsusp.S | 10 ++++++---- - 3 files changed, 25 insertions(+), 16 deletions(-) - ---- a/arch/s390/kernel/base.S -+++ b/arch/s390/kernel/base.S -@@ -9,18 +9,22 @@ - - #include - #include -+#include - #include - #include - -+ GEN_BR_THUNK %r9 -+ GEN_BR_THUNK %r14 -+ - ENTRY(s390_base_mcck_handler) - basr %r13,0 - 0: lg %r15,__LC_PANIC_STACK # load panic stack - aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_mcck_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - 1: la %r1,4095 - lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1) - lpswe __LC_MCK_OLD_PSW -@@ -37,10 +41,10 @@ ENTRY(s390_base_ext_handler) - basr %r13,0 - 0: aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_ext_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - 1: lmg %r0,%r15,__LC_SAVE_AREA_ASYNC - ni __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit - lpswe __LC_EXT_OLD_PSW -@@ -57,10 +61,10 @@ ENTRY(s390_base_pgm_handler) - basr %r13,0 - 0: aghi %r15,-STACK_FRAME_OVERHEAD - larl %r1,s390_base_pgm_handler_fn -- lg %r1,0(%r1) -- ltgr %r1,%r1 -+ lg %r9,0(%r1) -+ ltgr %r9,%r9 - jz 1f -- basr %r14,%r1 -+ BASR_EX %r14,%r9 - lmg %r0,%r15,__LC_SAVE_AREA_SYNC - lpswe __LC_PGM_OLD_PSW - 1: lpswe disabled_wait_psw-0b(%r13) -@@ -117,7 +121,7 @@ ENTRY(diag308_reset) - larl %r4,.Lcontinue_psw # Restore PSW flags - lpswe 0(%r4) - .Lcontinue: -- br %r14 -+ BR_EX %r14 - .align 16 - .Lrestart_psw: - .long 0x00080000,0x80000000 + .Lrestart_part2 ---- a/arch/s390/kernel/reipl.S -+++ b/arch/s390/kernel/reipl.S -@@ -7,8 +7,11 @@ - - #include - #include -+#include - #include - -+ GEN_BR_THUNK %r9 -+ - # - # Issue "store status" for the current CPU to its prefix page - # and call passed function afterwards -@@ -67,9 +70,9 @@ ENTRY(store_status) - st %r4,0(%r1) - st %r5,4(%r1) - stg %r2,8(%r1) -- lgr %r1,%r2 -+ lgr %r9,%r2 - lgr %r2,%r3 -- br %r1 -+ BR_EX %r9 - - .section .bss - .align 8 ---- a/arch/s390/kernel/swsusp.S -+++ b/arch/s390/kernel/swsusp.S -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - #include - - /* -@@ -24,6 +25,8 @@ - * (see below) in the resume process. - * This function runs with disabled interrupts. - */ -+ GEN_BR_THUNK %r14 -+ - .section .text - ENTRY(swsusp_arch_suspend) - stmg %r6,%r15,__SF_GPRS(%r15) -@@ -103,7 +106,7 @@ ENTRY(swsusp_arch_suspend) - spx 0x318(%r1) - lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) - lghi %r2,0 -- br %r14 -+ BR_EX %r14 - - /* - * Restore saved memory image to correct place and restore register context. -@@ -197,11 +200,10 @@ pgm_check_entry: - larl %r15,init_thread_union - ahi %r15,1<<(PAGE_SHIFT+THREAD_SIZE_ORDER) - larl %r2,.Lpanic_string -- larl %r3,sclp_early_printk - lghi %r1,0 - sam31 - sigp %r1,%r0,SIGP_SET_ARCHITECTURE -- basr %r14,%r3 -+ brasl %r14,sclp_early_printk - larl %r3,.Ldisabled_wait_31 - lpsw 0(%r3) - 4: -@@ -267,7 +269,7 @@ restore_registers: - /* Return 0 */ - lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) - lghi %r2,0 -- br %r14 -+ BR_EX %r14 - - .section .data..nosave,"aw",@progbits - .align 8 diff --git a/queue-4.16/series b/queue-4.16/series index 910ac53a939..4e31f8578b2 100644 --- a/queue-4.16/series +++ b/queue-4.16/series @@ -37,10 +37,8 @@ lib-test_bitmap.c-fix-bitmap-optimisation-tests-to-report-errors-correctly.patch radix-tree-fix-multi-order-iteration-race.patch mm-don-t-allow-deferred-pages-with-need_per_cpu_km.patch drm-i915-gen9-add-waclearhiz_wm_chicken3-for-bxt-and-glk.patch -s390-crc32-vx-use-expoline-for-indirect-branches.patch s390-qdio-fix-access-to-uninitialized-qdio_q-fields.patch s390-cpum_sf-ensure-sample-frequency-of-perf-event-attributes-is-non-zero.patch s390-qdio-don-t-release-memory-in-qdio_setup_irq.patch -s390-kernel-use-expoline-for-indirect-branches.patch s390-remove-indirect-branch-from-do_softirq_own_stack.patch bcache-return-0-from-bch_debug_init-if-config_debug_fs-n.patch diff --git a/queue-4.9/s390-crc32-vx-use-expoline-for-indirect-branches.patch b/queue-4.9/s390-crc32-vx-use-expoline-for-indirect-branches.patch deleted file mode 100644 index 2121d5346e8..00000000000 --- a/queue-4.9/s390-crc32-vx-use-expoline-for-indirect-branches.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 467a3bf219cee12259182c5cb4821f88fd518a51 Mon Sep 17 00:00:00 2001 -From: Martin Schwidefsky -Date: Mon, 23 Apr 2018 14:31:36 +0200 -Subject: s390/crc32-vx: use expoline for indirect branches - -From: Martin Schwidefsky - -commit 467a3bf219cee12259182c5cb4821f88fd518a51 upstream. - -The return from the crc32_le_vgfm_16/crc32c_le_vgfm_16 and the -crc32_be_vgfm_16 functions are done with "br %r14". These are indirect -branches as well and need to use execute trampolines for CONFIG_EXPOLINE=y. - -Cc: stable@vger.kernel.org # 4.16 -Fixes: f19fbd5ed6 ("s390: introduce execute-trampolines for branches") -Reviewed-by: Hendrik Brueckner -Signed-off-by: Martin Schwidefsky -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/crypto/crc32be-vx.S | 5 ++++- - arch/s390/crypto/crc32le-vx.S | 4 +++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/arch/s390/crypto/crc32be-vx.S -+++ b/arch/s390/crypto/crc32be-vx.S -@@ -12,6 +12,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -66,6 +67,8 @@ - - .previous - -+ GEN_BR_THUNK %r14 -+ - .text - /* - * The CRC-32 function(s) use these calling conventions: -@@ -202,6 +205,6 @@ ENTRY(crc32_be_vgfm_16) - - .Ldone: - VLGVF %r2,%v2,3 -- br %r14 -+ BR_EX %r14 - - .previous ---- a/arch/s390/crypto/crc32le-vx.S -+++ b/arch/s390/crypto/crc32le-vx.S -@@ -13,6 +13,7 @@ - */ - - #include -+#include - #include - - /* Vector register range containing CRC-32 constants */ -@@ -75,6 +76,7 @@ - - .previous - -+ GEN_BR_THUNK %r14 - - .text - -@@ -263,6 +265,6 @@ crc32_le_vgfm_generic: - - .Ldone: - VLGVF %r2,%v2,2 -- br %r14 -+ BR_EX %r14 - - .previous diff --git a/queue-4.9/series b/queue-4.9/series index dbd7736cc12..784bb1033c2 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -17,7 +17,6 @@ netfilter-nf_tables-can-t-fail-after-linking-rule-into-active-rule-list.patch i2c-designware-fix-poll-after-enable-regression.patch powerpc-powernv-fix-nvram-sleep-in-invalid-context-when-crashing.patch mm-don-t-allow-deferred-pages-with-need_per_cpu_km.patch -s390-crc32-vx-use-expoline-for-indirect-branches.patch s390-qdio-fix-access-to-uninitialized-qdio_q-fields.patch s390-cpum_sf-ensure-sample-frequency-of-perf-event-attributes-is-non-zero.patch s390-qdio-don-t-release-memory-in-qdio_setup_irq.patch