V4.9 backport of 32-bit arm spectre patches
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest24 patches 15 repliesIn review
- v118 patches 10 repliesSuperseded
Changes in v2 from the cover letter
1) Fixed bad merge in #11/24 in hyp-entry.S.
2) Incorporated upstream patch to earlier patch where wrong ENDPROC call was done in hypervisor code in proc-v7.S.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/24 | ARM: add more CPU part numbers for Cortex and Brahma B15 CPUsarch/ | +8 | 0 replies | |
| 2/24 | ARM: bugs: prepare processor bug infrastructurearch/ arch/ arch/ | +12 | 0 replies | |
| 3/24 | ARM: bugs: hook processor bug checking into SMP and suspend pathsarch/ arch/ arch/ +1 more | +13 | 0 replies | |
| 4/24 | ARM: bugs: add support for per-processor bug checkingarch/ arch/ arch/ | +10 | 0 replies | |
| 5/24 | ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectrearch/ | +4 | 0 replies | |
| 6/24 | ARM: spectre-v2: harden branch predictor on context switchesarch/ arch/ arch/ | +115 | 0 replies | |
| 7/24 | ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bitarch/ arch/ arch/ | +39 | 0 replies | |
| 8/24 | ARM: spectre-v2: harden user aborts in kernel spacearch/ arch/ arch/ +2 more | +94 | 0 replies | |
| 9/24 | ARM: spectre-v2: add firmware based hardeningarch/ arch/ | +81 | 12 replies | |
| 10/24 | ARM: spectre-v2: warn about incorrect context switching functionsarch/ | +15 | 0 replies | |
| 11/24 | ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17arch/ arch/ arch/ | +85 | 0 replies | |
| 12/24 | ARM: KVM: invalidate icache on guest exit for Cortex-A15arch/ arch/ | +29 | 0 replies | |
| 13/24 | ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15arch/ | +1 | 0 replies | |
| 14/24 | ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handlingarch/ | +16 | 0 replies | |
| 15/24 | ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1arch/ | +12 | 0 replies | |
| 16/24 | ARM: spectre-v1: add speculation barrier (csdb) macrosarch/ arch/ | +21 | 0 replies | |
| 17/24 | ARM: spectre-v1: add array_index_mask_nospec() implementationarch/ | +19 | 0 replies | |
| 18/24 | ARM: spectre-v1: fix syscall entryarch/ arch/ | +32 | 0 replies | |
| 19/24 | ARM: signal: copy registers using __copy_from_user()arch/ | +21 | 0 replies | |
| 20/24 | ARM: vfp: use __copy_from_user() when restoring VFP statearch/ arch/ arch/ | +17 | 0 replies | |
| 21/24 | ARM: oabi-compat: copy semops using __copy_from_user()arch/ | +5 | 0 replies | |
| 22/24 | ARM: use __inttype() in get_user()arch/ | +8 | 0 replies | |
| 23/24 | ARM: spectre-v1: use get_user() for __get_user()arch/ | +11 | 0 replies | |
| 24/24 | ARM: spectre-v1: mitigate user accessesarch/ arch/ | +13 | 0 replies |
Reviews trailers per patch
All 24 patches have a Reviewed-by or Acked-by.
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [PATCH 4.9 V2 00/24] V4.9 backport of 32-bit arm spectre patches
From: "David A. Long" <[email protected]>
V4.9 backport of spectre patches from Russell M. King's spectre branch. Patches not yet in upstream are excluded.
Changes in V2:
1) Fixed bad merge in #11/24 in hyp-entry.S.
2) Incorporated upstream patch to earlier patch where wrong ENDPROC call was done in hypervisor code in proc-v7.S.
Marc Zyngier (2):
ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17
ARM: KVM: invalidate icache on guest exit for Cortex-A15
Russell King (22):
ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs
ARM: bugs: prepare processor bug infrastructure
ARM: bugs: hook processor bug checking into SMP and suspend paths
ARM: bugs: add support for per-processor bug checking
ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre
ARM: spectre-v2: harden branch predictor on context switches
ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit
ARM: spectre-v2: harden user aborts in kernel space
ARM: spectre-v2: add firmware based hardening
ARM: spectre-v2: warn about incorrect context switching functions
ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15
ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1
ARM: spectre-v1: add speculation barrier (csdb) macros
ARM: spectre-v1: add array_index_mask_nospec() implementation
ARM: spectre-v1: fix syscall entry
ARM: signal: copy registers using __copy_from_user()
ARM: vfp: use __copy_from_user() when restoring VFP state
ARM: oabi-compat: copy semops using __copy_from_user()
ARM: use __inttype() in get_user()
ARM: spectre-v1: use get_user() for __get_user()
ARM: spectre-v1: mitigate user accesses
arch/arm/include/asm/assembler.h | 12 ++ arch/arm/include/asm/barrier.h | 32 ++++++ arch/arm/include/asm/bugs.h | 6 +- arch/arm/include/asm/cp15.h | 3 + arch/arm/include/asm/cputype.h | 8 ++ arch/arm/include/asm/kvm_asm.h | 2 - arch/arm/include/asm/kvm_host.h | 14 ++- arch/arm/include/asm/kvm_mmu.h | 23 +++- arch/arm/include/asm/proc-fns.h | 4 + arch/arm/include/asm/system_misc.h | 15 +++ arch/arm/include/asm/thread_info.h | 4 +- arch/arm/include/asm/uaccess.h | 26 +++-- arch/arm/kernel/Makefile | 1 + arch/arm/kernel/bugs.c | 18 +++ arch/arm/kernel/entry-common.S | 18 ++- arch/arm/kernel/entry-header.S | 25 +++++ arch/arm/kernel/signal.c | 55 ++++----- arch/arm/kernel/smp.c | 4 + arch/arm/kernel/suspend.c | 2 + arch/arm/kernel/sys_oabi-compat.c | 8 +- arch/arm/kvm/hyp/hyp-entry.S | 112 ++++++++++++++++++- arch/arm/lib/copy_from_user.S | 9 ++ arch/arm/mm/Kconfig | 23 ++++ arch/arm/mm/Makefile | 2 +- arch/arm/mm/fault.c | 3 + arch/arm/mm/proc-macros.S | 3 +- arch/arm/mm/proc-v7-2level.S | 6 - arch/arm/mm/proc-v7-bugs.c | 174 +++++++++++++++++++++++++++++ arch/arm/mm/proc-v7.S | 154 +++++++++++++++++++------ arch/arm/vfp/vfpmodule.c | 17 ++- 30 files changed, 674 insertions(+), 109 deletions(-) create mode 100644 arch/arm/kernel/bugs.c create mode 100644 arch/arm/mm/proc-v7-bugs.c
Signature · 1 line
2.17.1