@@ -2572,7 +2572,8 @@ config MITIGATION_IBPB_ENTRY
25722572 depends on CPU_SUP_AMD && X86_64
25732573 default y
25742574 help
2575- Compile the kernel with support for the retbleed=ibpb mitigation.
2575+ Compile the kernel with support for the retbleed=ibpb and
2576+ spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations.
25762577
25772578config MITIGATION_IBRS_ENTRY
25782579 bool "Enable IBRS on kernel entry"
@@ -2600,24 +2601,15 @@ config MITIGATION_SLS
26002601 against straight line speculation. The kernel image might be slightly
26012602 larger.
26022603
2603- config MITIGATION_GDS_FORCE
2604- bool "Force GDS Mitigation "
2604+ config MITIGATION_GDS
2605+ bool "Mitigate Gather Data Sampling "
26052606 depends on CPU_SUP_INTEL
2606- default n
2607+ default y
26072608 help
2608- Gather Data Sampling (GDS) is a hardware vulnerability which allows
2609- unprivileged speculative access to data which was previously stored in
2610- vector registers.
2611-
2612- This option is equivalent to setting gather_data_sampling=force on the
2613- command line. The microcode mitigation is used if present, otherwise
2614- AVX is disabled as a mitigation. On affected systems that are missing
2615- the microcode any userspace code that unconditionally uses AVX will
2616- break with this option set.
2617-
2618- Setting this option on systems not vulnerable to GDS has no effect.
2619-
2620- If in doubt, say N.
2609+ Enable mitigation for Gather Data Sampling (GDS). GDS is a hardware
2610+ vulnerability which allows unprivileged speculative access to data
2611+ which was previously stored in vector registers. The attacker uses gather
2612+ instructions to infer the stale vector register data.
26212613
26222614config MITIGATION_RFDS
26232615 bool "RFDS Mitigation"
@@ -2640,6 +2632,107 @@ config MITIGATION_SPECTRE_BHI
26402632 indirect branches.
26412633 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
26422634
2635+ config MITIGATION_MDS
2636+ bool "Mitigate Microarchitectural Data Sampling (MDS) hardware bug"
2637+ depends on CPU_SUP_INTEL
2638+ default y
2639+ help
2640+ Enable mitigation for Microarchitectural Data Sampling (MDS). MDS is
2641+ a hardware vulnerability which allows unprivileged speculative access
2642+ to data which is available in various CPU internal buffers.
2643+ See also <file:Documentation/admin-guide/hw-vuln/mds.rst>
2644+
2645+ config MITIGATION_TAA
2646+ bool "Mitigate TSX Asynchronous Abort (TAA) hardware bug"
2647+ depends on CPU_SUP_INTEL
2648+ default y
2649+ help
2650+ Enable mitigation for TSX Asynchronous Abort (TAA). TAA is a hardware
2651+ vulnerability that allows unprivileged speculative access to data
2652+ which is available in various CPU internal buffers by using
2653+ asynchronous aborts within an Intel TSX transactional region.
2654+ See also <file:Documentation/admin-guide/hw-vuln/tsx_async_abort.rst>
2655+
2656+ config MITIGATION_MMIO_STALE_DATA
2657+ bool "Mitigate MMIO Stale Data hardware bug"
2658+ depends on CPU_SUP_INTEL
2659+ default y
2660+ help
2661+ Enable mitigation for MMIO Stale Data hardware bugs. Processor MMIO
2662+ Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO)
2663+ vulnerabilities that can expose data. The vulnerabilities require the
2664+ attacker to have access to MMIO.
2665+ See also
2666+ <file:Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst>
2667+
2668+ config MITIGATION_L1TF
2669+ bool "Mitigate L1 Terminal Fault (L1TF) hardware bug"
2670+ depends on CPU_SUP_INTEL
2671+ default y
2672+ help
2673+ Mitigate L1 Terminal Fault (L1TF) hardware bug. L1 Terminal Fault is a
2674+ hardware vulnerability which allows unprivileged speculative access to data
2675+ available in the Level 1 Data Cache.
2676+ See <file:Documentation/admin-guide/hw-vuln/l1tf.rst
2677+
2678+ config MITIGATION_RETBLEED
2679+ bool "Mitigate RETBleed hardware bug"
2680+ depends on (CPU_SUP_INTEL && MITIGATION_SPECTRE_V2) || MITIGATION_UNRET_ENTRY || MITIGATION_IBPB_ENTRY
2681+ default y
2682+ help
2683+ Enable mitigation for RETBleed (Arbitrary Speculative Code Execution
2684+ with Return Instructions) vulnerability. RETBleed is a speculative
2685+ execution attack which takes advantage of microarchitectural behavior
2686+ in many modern microprocessors, similar to Spectre v2. An
2687+ unprivileged attacker can use these flaws to bypass conventional
2688+ memory security restrictions to gain read access to privileged memory
2689+ that would otherwise be inaccessible.
2690+
2691+ config MITIGATION_SPECTRE_V1
2692+ bool "Mitigate SPECTRE V1 hardware bug"
2693+ default y
2694+ help
2695+ Enable mitigation for Spectre V1 (Bounds Check Bypass). Spectre V1 is a
2696+ class of side channel attacks that takes advantage of speculative
2697+ execution that bypasses conditional branch instructions used for
2698+ memory access bounds check.
2699+ See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2700+
2701+ config MITIGATION_SPECTRE_V2
2702+ bool "Mitigate SPECTRE V2 hardware bug"
2703+ default y
2704+ help
2705+ Enable mitigation for Spectre V2 (Branch Target Injection). Spectre
2706+ V2 is a class of side channel attacks that takes advantage of
2707+ indirect branch predictors inside the processor. In Spectre variant 2
2708+ attacks, the attacker can steer speculative indirect branches in the
2709+ victim to gadget code by poisoning the branch target buffer of a CPU
2710+ used for predicting indirect branch addresses.
2711+ See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2712+
2713+ config MITIGATION_SRBDS
2714+ bool "Mitigate Special Register Buffer Data Sampling (SRBDS) hardware bug"
2715+ depends on CPU_SUP_INTEL
2716+ default y
2717+ help
2718+ Enable mitigation for Special Register Buffer Data Sampling (SRBDS).
2719+ SRBDS is a hardware vulnerability that allows Microarchitectural Data
2720+ Sampling (MDS) techniques to infer values returned from special
2721+ register accesses. An unprivileged user can extract values returned
2722+ from RDRAND and RDSEED executed on another core or sibling thread
2723+ using MDS techniques.
2724+ See also
2725+ <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
2726+
2727+ config MITIGATION_SSB
2728+ bool "Mitigate Speculative Store Bypass (SSB) hardware bug"
2729+ default y
2730+ help
2731+ Enable mitigation for Speculative Store Bypass (SSB). SSB is a
2732+ hardware security vulnerability and its exploitation takes advantage
2733+ of speculative execution in a similar way to the Meltdown and Spectre
2734+ security vulnerabilities.
2735+
26432736endif
26442737
26452738config ARCH_HAS_ADD_PAGES
0 commit comments