stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5.4 00/37] IBRS support // Retbleed mitigations
@ 2022-10-03 13:10 Thadeu Lima de Souza Cascardo
  2022-10-03 13:10 ` [PATCH 5.4 01/37] Revert "x86/speculation: Add RSB VM Exit protections" Thadeu Lima de Souza Cascardo
                   ` (37 more replies)
  0 siblings, 38 replies; 39+ messages in thread
From: Thadeu Lima de Souza Cascardo @ 2022-10-03 13:10 UTC (permalink / raw)
  To: stable; +Cc: x86, kvm, bp, pbonzini, peterz, jpoimboe

This backport introduces IBRS support to 5.4.y in order to mitigate Retbleed on
Intel parts. Though some very small pieces for AMD have been picked up as well,
"UNRET" mitigations are not backported, nor IBPB. It is expected, though, that
the backport will report AMD systems as vulnerable or not affected, depending
on the parts and the BTC_NO bit.

One note here is that the PBRSB mitigation was backported previously to the 5.4
series, and this would have made things a little bit more complicated. So, I
reverted it and applied it later on.

This has been boot-tested and smoke-tested on a bunch of AMD and Intel systems.

Alexandre Chartre (2):
  x86/bugs: Report AMD retbleed vulnerability
  x86/bugs: Add AMD retbleed= boot parameter

Andrew Cooper (1):
  x86/cpu/amd: Enumerate BTC_NO

Daniel Sneddon (1):
  x86/speculation: Add RSB VM Exit protections

Josh Poimboeuf (9):
  x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
  x86/speculation: Fix firmware entry SPEC_CTRL handling
  x86/speculation: Fix SPEC_CTRL write on SMT state change
  x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
  x86/speculation: Remove x86_spec_ctrl_mask
  KVM: VMX: Flatten __vmx_vcpu_run()
  KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
  KVM: VMX: Fix IBRS handling after vmexit
  x86/speculation: Fill RSB on vmexit for IBRS

Mark Gross (1):
  x86/cpu: Add a steppings field to struct x86_cpu_id

Nathan Chancellor (1):
  x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current

Pawan Gupta (4):
  x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
  x86/bugs: Add Cannon lake to RETBleed affected CPU list
  x86/speculation: Disable RRSBA behavior
  x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS
    parts

Peter Zijlstra (11):
  x86/kvm/vmx: Make noinstr clean
  x86/cpufeatures: Move RETPOLINE flags to word 11
  x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
  x86/entry: Remove skip_r11rcx
  x86/entry: Add kernel IBRS implementation
  x86/bugs: Optimize SPEC_CTRL MSR writes
  x86/bugs: Split spectre_v2_select_mitigation() and
    spectre_v2_user_select_mitigation()
  x86/bugs: Report Intel retbleed vulnerability
  intel_idle: Disable IBRS during long idle
  x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
  x86/common: Stamp out the stepping madness

Thadeu Lima de Souza Cascardo (3):
  Revert "x86/speculation: Add RSB VM Exit protections"
  Revert "x86/cpu: Add a steppings field to struct x86_cpu_id"
  KVM: VMX: Convert launched argument to flags

Thomas Gleixner (2):
  x86/devicetable: Move x86 specific macro out of generic code
  x86/cpu: Add consistent CPU match macros

Uros Bizjak (2):
  KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
  KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw

 .../admin-guide/kernel-parameters.txt         |  13 +
 arch/x86/entry/calling.h                      |  68 +++-
 arch/x86/entry/entry_32.S                     |   2 -
 arch/x86/entry/entry_64.S                     |  34 +-
 arch/x86/entry/entry_64_compat.S              |  11 +-
 arch/x86/include/asm/cpu_device_id.h          | 132 ++++++-
 arch/x86/include/asm/cpufeatures.h            |  13 +-
 arch/x86/include/asm/intel-family.h           |   6 +
 arch/x86/include/asm/msr-index.h              |  10 +
 arch/x86/include/asm/nospec-branch.h          |  54 +--
 arch/x86/kernel/cpu/amd.c                     |  21 +-
 arch/x86/kernel/cpu/bugs.c                    | 365 ++++++++++++++----
 arch/x86/kernel/cpu/common.c                  |  61 +--
 arch/x86/kernel/cpu/match.c                   |  13 +-
 arch/x86/kernel/cpu/scattered.c               |   1 +
 arch/x86/kernel/process.c                     |   2 +-
 arch/x86/kvm/svm.c                            |   1 +
 arch/x86/kvm/vmx/nested.c                     |  32 +-
 arch/x86/kvm/vmx/run_flags.h                  |   8 +
 arch/x86/kvm/vmx/vmenter.S                    | 161 ++++----
 arch/x86/kvm/vmx/vmx.c                        |  72 ++--
 arch/x86/kvm/vmx/vmx.h                        |   5 +
 arch/x86/kvm/x86.c                            |   4 +-
 drivers/base/cpu.c                            |   8 +
 drivers/cpufreq/acpi-cpufreq.c                |   1 +
 drivers/cpufreq/amd_freq_sensitivity.c        |   1 +
 drivers/idle/intel_idle.c                     |  43 ++-
 include/linux/cpu.h                           |   2 +
 include/linux/kvm_host.h                      |   2 +-
 include/linux/mod_devicetable.h               |   4 +-
 tools/arch/x86/include/asm/cpufeatures.h      |   2 +-
 31 files changed, 840 insertions(+), 312 deletions(-)
 create mode 100644 arch/x86/kvm/vmx/run_flags.h

-- 
2.34.1


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2022-10-05 10:35 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-03 13:10 [PATCH 5.4 00/37] IBRS support // Retbleed mitigations Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 01/37] Revert "x86/speculation: Add RSB VM Exit protections" Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 02/37] Revert "x86/cpu: Add a steppings field to struct x86_cpu_id" Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 03/37] x86/devicetable: Move x86 specific macro out of generic code Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 04/37] x86/cpu: Add consistent CPU match macros Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 05/37] x86/cpu: Add a steppings field to struct x86_cpu_id Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 06/37] x86/kvm/vmx: Make noinstr clean Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 07/37] x86/cpufeatures: Move RETPOLINE flags to word 11 Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 08/37] x86/bugs: Report AMD retbleed vulnerability Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 09/37] x86/bugs: Add AMD retbleed= boot parameter Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 10/37] x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 11/37] x86/entry: Remove skip_r11rcx Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 12/37] x86/entry: Add kernel IBRS implementation Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 13/37] x86/bugs: Optimize SPEC_CTRL MSR writes Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 14/37] x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 15/37] x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation() Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 16/37] x86/bugs: Report Intel retbleed vulnerability Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 17/37] intel_idle: Disable IBRS during long idle Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 18/37] x86/speculation: Change FILL_RETURN_BUFFER to work with objtool Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 19/37] x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 20/37] x86/speculation: Fix firmware entry SPEC_CTRL handling Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 21/37] x86/speculation: Fix SPEC_CTRL write on SMT state change Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 22/37] x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 23/37] x86/speculation: Remove x86_spec_ctrl_mask Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 24/37] KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 25/37] KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 26/37] KVM: VMX: Flatten __vmx_vcpu_run() Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 27/37] KVM: VMX: Convert launched argument to flags Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 28/37] KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 29/37] KVM: VMX: Fix IBRS handling after vmexit Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 30/37] x86/speculation: Fill RSB on vmexit for IBRS Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 31/37] x86/common: Stamp out the stepping madness Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 32/37] x86/cpu/amd: Enumerate BTC_NO Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 33/37] x86/bugs: Add Cannon lake to RETBleed affected CPU list Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 34/37] x86/speculation: Disable RRSBA behavior Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 35/37] x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 36/37] x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts Thadeu Lima de Souza Cascardo
2022-10-03 13:10 ` [PATCH 5.4 37/37] x86/speculation: Add RSB VM Exit protections Thadeu Lima de Souza Cascardo
2022-10-05 10:34 ` [PATCH 5.4 00/37] IBRS support // Retbleed mitigations Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).