]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch
authorSasha Levin <sashal@kernel.org>
Mon, 4 Dec 2023 21:07:21 +0000 (16:07 -0500)
committerSasha Levin <sashal@kernel.org>
Mon, 4 Dec 2023 21:07:58 +0000 (16:07 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.19/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch [deleted file]
queue-4.19/series
queue-5.4/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch [deleted file]
queue-5.4/series

diff --git a/queue-4.19/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch b/queue-4.19/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch
deleted file mode 100644 (file)
index a45b2b8..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-From 4c762ee5a651ad98e47860959d05a8cb18248bdf Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 25 Oct 2023 10:21:28 -0700
-Subject: arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
-
-From: Nathan Chancellor <nathan@kernel.org>
-
-[ Upstream commit 146a15b873353f8ac28dc281c139ff611a3c4848 ]
-
-Prior to LLVM 15.0.0, LLVM's integrated assembler would incorrectly
-byte-swap NOP when compiling for big-endian, and the resulting series of
-bytes happened to match the encoding of FNMADD S21, S30, S0, S0.
-
-This went unnoticed until commit:
-
-  34f66c4c4d5518c1 ("arm64: Use a positive cpucap for FP/SIMD")
-
-Prior to that commit, the kernel would always enable the use of FPSIMD
-early in boot when __cpu_setup() initialized CPACR_EL1, and so usage of
-FNMADD within the kernel was not detected, but could result in the
-corruption of user or kernel FPSIMD state.
-
-After that commit, the instructions happen to trap during boot prior to
-FPSIMD being detected and enabled, e.g.
-
-| Unhandled 64-bit el1h sync exception on CPU0, ESR 0x000000001fe00000 -- ASIMD
-| CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc3-00013-g34f66c4c4d55 #1
-| Hardware name: linux,dummy-virt (DT)
-| pstate: 400000c9 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
-| pc : __pi_strcmp+0x1c/0x150
-| lr : populate_properties+0xe4/0x254
-| sp : ffffd014173d3ad0
-| x29: ffffd014173d3af0 x28: fffffbfffddffcb8 x27: 0000000000000000
-| x26: 0000000000000058 x25: fffffbfffddfe054 x24: 0000000000000008
-| x23: fffffbfffddfe000 x22: fffffbfffddfe000 x21: fffffbfffddfe044
-| x20: ffffd014173d3b70 x19: 0000000000000001 x18: 0000000000000005
-| x17: 0000000000000010 x16: 0000000000000000 x15: 00000000413e7000
-| x14: 0000000000000000 x13: 0000000000001bcc x12: 0000000000000000
-| x11: 00000000d00dfeed x10: ffffd414193f2cd0 x9 : 0000000000000000
-| x8 : 0101010101010101 x7 : ffffffffffffffc0 x6 : 0000000000000000
-| x5 : 0000000000000000 x4 : 0101010101010101 x3 : 000000000000002a
-| x2 : 0000000000000001 x1 : ffffd014171f2988 x0 : fffffbfffddffcb8
-| Kernel panic - not syncing: Unhandled exception
-| CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc3-00013-g34f66c4c4d55 #1
-| Hardware name: linux,dummy-virt (DT)
-| Call trace:
-|  dump_backtrace+0xec/0x108
-|  show_stack+0x18/0x2c
-|  dump_stack_lvl+0x50/0x68
-|  dump_stack+0x18/0x24
-|  panic+0x13c/0x340
-|  el1t_64_irq_handler+0x0/0x1c
-|  el1_abort+0x0/0x5c
-|  el1h_64_sync+0x64/0x68
-|  __pi_strcmp+0x1c/0x150
-|  unflatten_dt_nodes+0x1e8/0x2d8
-|  __unflatten_device_tree+0x5c/0x15c
-|  unflatten_device_tree+0x38/0x50
-|  setup_arch+0x164/0x1e0
-|  start_kernel+0x64/0x38c
-|  __primary_switched+0xbc/0xc4
-
-Restrict CONFIG_CPU_BIG_ENDIAN to a known good assembler, which is
-either GNU as or LLVM's IAS 15.0.0 and newer, which contains the linked
-commit.
-
-Closes: https://github.com/ClangBuiltLinux/linux/issues/1948
-Link: https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Cc: stable@vger.kernel.org
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Link: https://lore.kernel.org/r/20231025-disable-arm64-be-ias-b4-llvm-15-v1-1-b25263ed8b23@kernel.org
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/Kconfig | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 92646f12a66d2..ff8e0db1693e9 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -759,6 +759,8 @@ choice
- config CPU_BIG_ENDIAN
-       bool "Build big-endian kernel"
-       depends on !LD_IS_LLD || LLD_VERSION >= 130000
-+      # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
-+      depends on AS_IS_GNU || AS_VERSION >= 150000
-       help
-         Say Y if you plan on running a kernel with a big-endian userspace.
--- 
-2.42.0
-
index 221168cddf9059b5712df0b34964482e7ab602b6..172b221e1b83d3afdd32cdc19a0e431377f074a7 100644 (file)
@@ -55,7 +55,6 @@ pci-aspm-disable-only-aspm_state_l1-when-driver-disa.patch
 revert-pci-aspm-disable-only-aspm_state_l1-when-driv.patch
 s390-mm-fix-phys-vs-virt-confusion-in-mark_kernel_px.patch
 s390-cmma-fix-detection-of-dat-pages.patch
-arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch
 mtd-cfi_cmdset_0001-support-the-absence-of-protectio.patch
 mtd-cfi_cmdset_0001-byte-swap-otp-info.patch
 fbdev-stifb-make-the-sti-next-font-pointer-a-32-bit-.patch
diff --git a/queue-5.4/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch b/queue-5.4/arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch
deleted file mode 100644 (file)
index 72b64fe..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-From 85f92e443bd225e10b31d0034d1e743620e5c6c6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 25 Oct 2023 10:21:28 -0700
-Subject: arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer
-
-From: Nathan Chancellor <nathan@kernel.org>
-
-[ Upstream commit 146a15b873353f8ac28dc281c139ff611a3c4848 ]
-
-Prior to LLVM 15.0.0, LLVM's integrated assembler would incorrectly
-byte-swap NOP when compiling for big-endian, and the resulting series of
-bytes happened to match the encoding of FNMADD S21, S30, S0, S0.
-
-This went unnoticed until commit:
-
-  34f66c4c4d5518c1 ("arm64: Use a positive cpucap for FP/SIMD")
-
-Prior to that commit, the kernel would always enable the use of FPSIMD
-early in boot when __cpu_setup() initialized CPACR_EL1, and so usage of
-FNMADD within the kernel was not detected, but could result in the
-corruption of user or kernel FPSIMD state.
-
-After that commit, the instructions happen to trap during boot prior to
-FPSIMD being detected and enabled, e.g.
-
-| Unhandled 64-bit el1h sync exception on CPU0, ESR 0x000000001fe00000 -- ASIMD
-| CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc3-00013-g34f66c4c4d55 #1
-| Hardware name: linux,dummy-virt (DT)
-| pstate: 400000c9 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
-| pc : __pi_strcmp+0x1c/0x150
-| lr : populate_properties+0xe4/0x254
-| sp : ffffd014173d3ad0
-| x29: ffffd014173d3af0 x28: fffffbfffddffcb8 x27: 0000000000000000
-| x26: 0000000000000058 x25: fffffbfffddfe054 x24: 0000000000000008
-| x23: fffffbfffddfe000 x22: fffffbfffddfe000 x21: fffffbfffddfe044
-| x20: ffffd014173d3b70 x19: 0000000000000001 x18: 0000000000000005
-| x17: 0000000000000010 x16: 0000000000000000 x15: 00000000413e7000
-| x14: 0000000000000000 x13: 0000000000001bcc x12: 0000000000000000
-| x11: 00000000d00dfeed x10: ffffd414193f2cd0 x9 : 0000000000000000
-| x8 : 0101010101010101 x7 : ffffffffffffffc0 x6 : 0000000000000000
-| x5 : 0000000000000000 x4 : 0101010101010101 x3 : 000000000000002a
-| x2 : 0000000000000001 x1 : ffffd014171f2988 x0 : fffffbfffddffcb8
-| Kernel panic - not syncing: Unhandled exception
-| CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc3-00013-g34f66c4c4d55 #1
-| Hardware name: linux,dummy-virt (DT)
-| Call trace:
-|  dump_backtrace+0xec/0x108
-|  show_stack+0x18/0x2c
-|  dump_stack_lvl+0x50/0x68
-|  dump_stack+0x18/0x24
-|  panic+0x13c/0x340
-|  el1t_64_irq_handler+0x0/0x1c
-|  el1_abort+0x0/0x5c
-|  el1h_64_sync+0x64/0x68
-|  __pi_strcmp+0x1c/0x150
-|  unflatten_dt_nodes+0x1e8/0x2d8
-|  __unflatten_device_tree+0x5c/0x15c
-|  unflatten_device_tree+0x38/0x50
-|  setup_arch+0x164/0x1e0
-|  start_kernel+0x64/0x38c
-|  __primary_switched+0xbc/0xc4
-
-Restrict CONFIG_CPU_BIG_ENDIAN to a known good assembler, which is
-either GNU as or LLVM's IAS 15.0.0 and newer, which contains the linked
-commit.
-
-Closes: https://github.com/ClangBuiltLinux/linux/issues/1948
-Link: https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Cc: stable@vger.kernel.org
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Link: https://lore.kernel.org/r/20231025-disable-arm64-be-ias-b4-llvm-15-v1-1-b25263ed8b23@kernel.org
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/Kconfig | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 306772b7de5fc..b301b591dc35b 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -888,6 +888,8 @@ choice
- config CPU_BIG_ENDIAN
-       bool "Build big-endian kernel"
-       depends on !LD_IS_LLD || LLD_VERSION >= 130000
-+      # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
-+      depends on AS_IS_GNU || AS_VERSION >= 150000
-       help
-         Say Y if you plan on running a kernel with a big-endian userspace.
--- 
-2.42.0
-
index 5f5d7fb8cff6ef2eba8fbc70b194d4b66f261835..5a8feb8092e964cc8e20362c0b2790b38405bd02 100644 (file)
@@ -74,7 +74,6 @@ perf-intel-pt-fix-async-branch-flags.patch
 smb3-fix-touch-h-of-symlink.patch
 s390-mm-fix-phys-vs-virt-confusion-in-mark_kernel_px.patch
 s390-cmma-fix-detection-of-dat-pages.patch
-arm64-restrict-cpu_big_endian-to-gnu-as-or-llvm-ias-.patch
 mtd-cfi_cmdset_0001-support-the-absence-of-protectio.patch
 mtd-cfi_cmdset_0001-byte-swap-otp-info.patch
 fbdev-stifb-make-the-sti-next-font-pointer-a-32-bit-.patch