arm64: errata: Add workaround for Arm errata 3194386 and 3312417
Cortex-X4 and Neoverse-V3 suffer from errata whereby an MSR to the SSBS special-purpose register does not affect subsequent speculative instructions, permitting speculative store bypassing for a window of time. This is described in their Software Developer Errata Notice (SDEN) documents: * Cortex-X4 SDEN v8.0, erratum 3194386: https://developer.arm.com/documentation/SDEN-2432808/0800/ * Neoverse-V3 SDEN v6.0, erratum 3312417: https://developer.arm.com/documentation/SDEN-2891958/0600/ To workaround these errata, it is necessary to place a speculation barrier (SB) after MSR to the SSBS special-purpose register. This patch adds the requisite SB after writes to SSBS within the kernel, and hides the presence of SSBS from EL0 such that userspace software which cares about SSBS will manipulate this via prctl(PR_GET_SPECULATION_CTRL, ...). Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: James Morse <james.morse@arm.com> Cc: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20240508081400.235362-5-mark.rutland@arm.com Signed-off-by: Will Deacon <will@kernel.org>
parent
0ce85db6
-
mentioned in commit adeec61a
-
mentioned in commit 286c8ca9
-
mentioned in commit 1f88d69c
-
mentioned in commit fce3458f
-
mentioned in commit 21350658
-
mentioned in commit 873b451f
-
mentioned in commit 236f749e
-
mentioned in commit 9f7ba007
-
mentioned in commit 4a500d4b
-
mentioned in commit 706f18a8
-
mentioned in commit cc627930
-
mentioned in commit 724750c8
-
mentioned in commit d12517dd
-
mentioned in commit 60bb4549
-
mentioned in commit d19a135c
-
mentioned in commit ba9a332d
Please register or sign in to comment