[SRU PR Lunar] CVE-2023-20569 - AMD SRSO

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Fri Sep 1 18:48:00 UTC 2023


The following changes since commit 0b1768b79aaefe01d0f9ecb0946fdac17d12d5b0:

  drm/i915/tc: Reset TypeC PHYs left enabled in DP-alt mode after the sink disconnects (2023-09-01 12:30:54 +0200)

are available in the Git repository at:

  git+ssh://git.launchpad.net/~cascardo/ubuntu/+source/linux/+git/lunar srso-6.2

for you to fetch changes up to 47b1f4f7db95ca267ba43f673f804e7e4bcd37bb:

  Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation (2023-09-01 09:48:40 -0300)

----------------------------------------------------------------
[Impact]
 A side channel vulnerability on some of the AMD CPUs may allow an attacker
 to influence the return address prediction. This may result in speculative
 execution at an attacker-controlled address, potentially leading to
 information disclosure.

[Backport]
Patches have been backported from 6.5 upstream. Minor conflicts around
previous backports of GDS and DIV0 had to be handled. Aside from that, only
very few conflicts also required handling.

[Tests]
Tests were run on an AWS Zen1 instance with no IBRS or IBPB. Mitigation
options were toggled and vulnerabilities mitigations reports were as
expected.

An Intel VM was booted with spectre_v2=retpoline.

[Potential regression]
This could cause boot problems and also cause some CPU vulnerabilties
mitigations, specially Retbleed, to regress.


----------------------------------------------------------------
Arnaldo Carvalho de Melo (1):
      tools headers x86 cpufeatures: Sync with the kernel sources

Arnd Bergmann (1):
      x86: Move gds_ucode_mitigated() declaration to header

Borislav Petkov (AMD) (14):
      x86/alternative: Optimize returns patching
      x86/retbleed: Add __x86_return_thunk alignment checks
      x86/srso: Add a Speculative RAS Overflow mitigation
      x86/srso: Add IBPB_BRTYPE support
      x86/srso: Add SRSO_NO support
      x86/srso: Add IBPB
      x86/srso: Add IBPB on VMEXIT
      x86/srso: Add a forgotten NOENDBR annotation
      x86/srso: Tie SBPB bit setting to microcode patch detection
      Documentation/hw-vuln: Unify filename specification in index
      Documentation/srso: Document IBPB aspect and fix formatting
      x86/srso: Disable the mitigation on unaffected configurations
      x86/srso: Explain the untraining sequences a bit more
      x86/srso: Correct the mitigation status when SMT is disabled

Josh Poimboeuf (1):
      x86/srso: Fix return thunks in generated code

Kim Phillips (1):
      x86/cpu, kvm: Add support for CPUID_80000021_EAX

Nick Desaulniers (1):
      x86/srso: Fix build breakage with the LLVM linker

Peter Zijlstra (10):
      x86/cpu: Fix __x86_return_thunk symbol type
      x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk()
      objtool/x86: Fix SRSO mess
      x86/alternative: Make custom return thunk unconditional
      x86/cpu: Clean up SRSO return thunk mess
      x86/cpu: Rename original retbleed methods
      x86/cpu: Rename srso_(.*)_alias to srso_alias_\1
      x86/cpu: Cleanup the untrain mess
      objtool/x86: Fixup frame-pointer vs rethunk
      x86/static_call: Fix __static_call_fixup()

Petr Pavlu (2):
      x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG
      x86/retpoline,kprobes: Skip optprobe check for indirect jumps with retpolines and IBT

Sean Christopherson (1):
      x86/retpoline: Don't clobber RFLAGS during srso_safe_ret()

Thadeu Lima de Souza Cascardo (1):
      Ubuntu: [Config]: enable Speculative Return Stack Overflow mitigation

 Documentation/admin-guide/hw-vuln/index.rst     |  15 +-
 Documentation/admin-guide/hw-vuln/srso.rst      | 150 ++++++++++++++++++
 Documentation/admin-guide/kernel-parameters.txt |  11 ++
 arch/x86/Kconfig                                |   7 +
 arch/x86/include/asm/cpufeature.h               |   7 +-
 arch/x86/include/asm/cpufeatures.h              |  13 +-
 arch/x86/include/asm/disabled-features.h        |   3 +-
 arch/x86/include/asm/msr-index.h                |   1 +
 arch/x86/include/asm/nospec-branch.h            |  42 ++---
 arch/x86/include/asm/processor.h                |   4 +
 arch/x86/include/asm/required-features.h        |   3 +-
 arch/x86/kernel/alternative.c                   |  17 +-
 arch/x86/kernel/cpu/amd.c                       |  19 +++
 arch/x86/kernel/cpu/bugs.c                      | 197 ++++++++++++++++++++++++
 arch/x86/kernel/cpu/common.c                    |  15 +-
 arch/x86/kernel/kprobes/opt.c                   |  40 ++---
 arch/x86/kernel/static_call.c                   |  13 ++
 arch/x86/kernel/vmlinux.lds.S                   |  39 ++++-
 arch/x86/kvm/cpuid.c                            |   3 +
 arch/x86/kvm/reverse_cpuid.h                    |   1 +
 arch/x86/kvm/svm/svm.c                          |   4 +-
 arch/x86/kvm/svm/vmenter.S                      |   3 +
 arch/x86/kvm/x86.c                              |   2 -
 arch/x86/lib/retpoline.S                        | 160 +++++++++++++++++--
 debian.master/config/annotations                |   1 +
 drivers/base/cpu.c                              |   8 +
 include/linux/cpu.h                             |   2 +
 tools/arch/x86/include/asm/cpufeatures.h        |   2 +-
 tools/arch/x86/include/asm/disabled-features.h  |   3 +-
 tools/arch/x86/include/asm/required-features.h  |   3 +-
 tools/objtool/arch/x86/decode.c                 |   6 +
 tools/objtool/check.c                           |  45 ++++--
 tools/objtool/include/objtool/arch.h            |   1 +
 tools/objtool/include/objtool/elf.h             |   1 +
 tools/perf/util/thread-stack.c                  |   4 +-
 35 files changed, 744 insertions(+), 101 deletions(-)
 create mode 100644 Documentation/admin-guide/hw-vuln/srso.rst



More information about the kernel-team mailing list