% linux_configuration_04_mitigations_for_cpu_vulnerabilities.tex
% since Linux 6.16
% Linux 6.19
% former: \section{Mitigations for speculative execution vulnerabilities \texorpdfstring{$\rightarrow$}{->}}
\section{Mitigations for CPU vulnerabilities {\tiny{seit 6.9}} \texorpdfstring{$\rightarrow$}{->}}
% CONFIG\_SPECULATION\_MITIGATIONS [=y] \textbf{[Y]}\\
CONFIG\_CPU\_MITIGATIONS [=y] \textbf{[Y]}\\
Geben Sie hier Y ein, um Optionen zu aktivieren, die Abhilfemaßnahmen für Hardware-Sicherheitslücken (in der Regel im Zusammenhang mit spekulativer Ausführung) ermöglichen.
Abhilfemaßnahmen können über den Kernel-Parameter \texttt{mitigations} zur Laufzeit deaktiviert oder auf SMT-Systeme beschränkt werden.\\
Wenn Sie N eingeben, werden alle Abhilfemaßnahmen deaktiviert.
Dies kann zur Laufzeit NICHT überschrieben werden.\\
Geben Sie Y ein, es sei denn, Sie wissen genau, was Sie tun.
\english{Say Y here to enable options which enable mitigations for hardware vulnerabilities (usually related to speculative execution).
Mitigations can be disabled or restricted to SMT systems at runtime via the ``mitigations'' kernel parameter.\\
If you say N, all mitigations will be disabled.
This CANNOT be overridden at runtime.\\
Say `Y', unless you really know what you are doing.}

%4.1 changed from CONFIG\_PAGE\_TABLE\_ISOLATION to CONFIG\_MITIGATION\_PAGE\_TABLE\_ISOLATION seit 6.9
\subsection{Remove the kernel mapping in user mode}
CONFIG\_MITIGATION\_PAGE\_TABLE\_ISOLATION [=y] \textbf{[Y]}\\
Diese Funktion reduziert die Anzahl der Hardware-Seitenkanäle, indem sie sicherstellt, dass die meisten Kernel-Adressen nicht in den Benutzerraum abgebildet werden.\\
Siehe \texttt{Documentation/arch/x86/pti.rst} für weitere Details.
\english{This feature reduces the number of hardware side channels by ensuring that the majority of kernel addresses are not mapped into userspace.\\
See Documentation/arch/x86/pti.rst for more details.}

%4.2 changed from CONFIG\_RETPOLINE to CONFIG\_MITIGATION\_RETPOLINE seit 6.9
\subsection{Avoid speculative indirect branches in kernel}
CONFIG\_MITIGATION\_RETPOLINE [=y] \textbf{[Y]}\\
Kompilieren Sie den Kernel mit den retpoline Compiler-Optionen, um Datenlecks zwischen Kernel und Benutzer zu verhindern, indem spekulative indirekte Verzweigungen vermieden werden.
Erfordert einen Compiler mit \texttt{-mindirect-branch=thunk-extern} Unterstützung für vollen Schutz.
Der Kernel kann langsamer laufen.
\english{Compile kernel with the retpoline compiler options to guard against kernel-to-user data leaks by avoiding speculative indirect branches.
Requires a compiler with -mindirect-branch=thunk-extern support for full protection.
The kernel may run slower.}

%4.2.1 changed from CONFIG\_RETHUNK to CONFIG\_MITIGATION\_RETHUNK seit 6.9
\subsubsection{Enable return-thunks}
CONFIG\_MITIGATION\_RETHUNK [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit der Compileroption \texttt{return-thunks}, um Datenlecks zwischen Kernel und Benutzer zu verhindern, indem Rückgabespekulationen vermieden werden.
Erfordert einen Compiler mit \texttt{-mfunction-return=thunk-extern} Unterstützung für vollen Schutz.
Der Kernel kann langsamer laufen.
\english{Compile the kernel with the return-thunks compiler option to guard against kernel-to-user data leaks by avoiding return speculation.
Requires a compiler with -mfunction-return=thunk-extern support for full protection.
The kernel may run slower.}

%4.2.1.1 changed CONFIG seit 6.9
\paragraph{Enable UNRET on kernel entry}$~$\\
%CONFIG\_CPU\_UNRET\_ENTRY [=y] \textbf{[Y]}\\
CONFIG\_MITIGATION\_UNRET\_ENTRY [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit Unterstützung für die \texttt{retbleed=unret}"=Abwehrmaßnahme.
\english{Compile the kernel with support for the retbleed=unret mitigation.}
\note{Wird nur bei AMD-Prozessoren angezeigt.}

%4.3
\subsection{Mitigate RSB underflow with call depth tracking}
%CONFIG\_CALL\_DEPTH\_TRACKING [=y] \textbf{[Y]}\\
CONFIG\_MITIGATION\_CALL\_DEPTH\_TRACKING [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit Call-Depth-Tracking, um das Intel SKL Return-Speculation-Buffer (RSB) Underflow"=Problem zu beheben.
Die Abhilfe ist standardmäßig deaktiviert und muss über die Option \texttt{retbleed=stuff} in der Kernel"=Befehlszeile aktiviert werden.
Für nicht betroffene Systeme ist der Overhead dieser Option marginal, da die Verfolgung der Aufruftiefe zur Laufzeit generierte Call Thunks in einem vom Compiler generierten Padding-Bereich und Call Patching verwendet.
Dies erhöht die Textgröße um $\sim\qty{5}{\percent}$.
Bei nicht betroffenen Systemen ist dieser Platz ungenutzt.
Auf betroffenen SKL-Systemen führt dies zu einem erheblichen Leistungsgewinn gegenüber der IBRS-Abschwächung.
\english{Compile the kernel with call depth tracking to mitigate the Intel SKL Return-Stack-Buffer (RSB) underflow issue.
The mitigation is off by default and needs to be enabled on the kernel command line via the retbleed=stuff option.
For non-affected systems the overhead of this option is marginal as the call depth tracking is using run-time generated call thunks in a compiler generated padding area and call patching.
This increases text size by $\sim$5\%.
For non affected systems this space is unused.
On affected SKL systems this results in a significant performance gain over the IBRS mitigation.}

\subsubsection{Enable call thunks and call depth tracking debugging \tiny{seit 6.2}}
CONFIG\_CALL\_THUNKS\_DEBUG [=n] \textbf{[N]}\\
Aktiviere Anruf-/Rückrufzähler für die Erkennung von Ungleichgewichten und integriere eine laute dmesg"=Meldung über die Generierung von Callthunks und das Patchen von Aufrufen zur Fehlerbehebung.
Die Debug-Ausgaben müssen in der Kernel-Befehlszeile mit \texttt{debug-callthunks} aktiviert werden.
Aktivieren Sie diese Option nur, wenn Sie Call Thunks debuggen wollen, da dies einen spürbaren Laufzeit-Overhead erzeugt.
Wenn Sie unsicher sind, sagen Sie N.
\english{Enable call/ret counters for imbalance detection and build in a noisy dmesg about callthunks generation and call patching for trouble shooting.
The debug prints need to be enabled on the kernel command line with 'debug-callthunks'.
Only enable this when you are debugging call thunks as this creates a noticeable runtime overhead.
If unsure say N.}

%4.4
\subsection{Enable IBPB on kernel entry}
%CONFIG\_CPU\_IBPB\_ENTRY [=y] \textbf{[Y]}\\
CONFIG\_MITIGATION\_IBPB\_ENTRY [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit Unterstützung für die beiden Abwehrmaßnamen: \texttt{retbleed=idpb} und\\\texttt{spec\_rstack\_overflow=\{ibpb,ibpb-vmexit\}}.
\english{Compile the kernel with support for the retbleed=ibpb and spec\_rstack\_overflow=\{ibpb,ibpb-vmexit\} mitigations.}
\note{Wird nur angezeigt, wenn ein AMD-Prozessor unterstützt wird.}

%4.5
\subsection{Enable IBRS on kernel entry}
%CONFIG\_CPU\_IBRS\_ENTRY [=y] \textbf{[Y]}\\
CONFIG\_MITIGATION\_IBRS\_ENTRY [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit Unterstützung für die \texttt{spectre\_v2=ibrs}"=Abwehrmaßnahme.
Dadurch werden sowohl \texttt{spectre\_v2} als auch \texttt{retbleed} mit erheblichen Leistungseinbußen abgewehrt.
\english{Compile the kernel with support for the spectre\_v2=ibrs mitigation.
This mitigates both spectre\_v2 and retbleed at great cost to performance.}

%4.6
\subsection{Mitigate speculative RAS overflow on AMD}
CONFIG\_MITIGATION\_SRSO [=y] \textbf{[N]}\\
Aktiviert die SRSO-Abschwächung, die auf AMD Zen1-4-Maschinen benötigt wird.
\english{Enable the SRSO mitigation needed on AMD Zen1-4 machines.}
\note{Wird nur angezeigt, wenn ein AMD-Prozessor unterstützt wird.}

%4.7
\subsection{Mitigate Straight-Line-Speculation}
CONFIG\_MITIGATION\_SLS [=y] \textbf{[Y]}\\
Kompiliere den Kernel mit Straight-Line-Speculation-Optionen, um ihn vor Straight-Line-Speculation zu schützen.
Das Kernel-Image könnte etwas größer sein.
\english{Compile the kernel with straight-line-speculation options to guard against straight line speculation.
The kernel image might be slightly larger.}


{\color{gray}{
\subsection*{Force GDS Mitigation \tiny{bis 6.8}}
CONFIG\_GDS\_FORCE\_MITIGATION [=n] \textbf{[N]}\\
Gather Data Sampling (GDS) ist eine Hardware-Schwachstelle, die unberechtigten spekulativen Zugriff auf Daten ermöglicht, die zuvor in Vektorregistern gespeichert wurden.
Diese Option ist gleichbedeutend mit der Einstellung \texttt{gather\_data\_sampling=force} in der Befehlszeile.
Die Mikrocode-Abwehrmaßnahme wird verwendet, falls vorhanden, andernfalls wird AVX als Abwehrmaßnahme deaktiviert.
Auf betroffenen Systemen, denen der Microcode fehlt, wird jeder Userspace-Code, der AVX bedingungslos verwendet, bei gesetzter Option abbrechen.
Das Setzen dieser Option auf Systemen, die nicht für GDS anfällig sind, hat keine Auswirkungen.\\
Im Zweifelsfall sagen Sie N.}
\english{Gather Data Sampling (GDS) is a hardware vulnerability which allows unprivileged speculative access to data which was previously stored in vector registers.
This option is equivalent to setting gather\_data\_sampling=force on the command line.
The microcode mitigation is used if present, otherwise AVX is disabled as a mitigation.
On affected systems that are missing the microcode any userspace code that unconditionally uses AVX will break with this option set.
Setting this option on systems not vulnerable to GDS has no effect.
If in doubt, say N.}
}

%4.8
\subsection{Mitigate Gather Data Sampling}
CONFIG\_MITIGATION\_GDS [=y] \textbf{[Y]}\\
Aktivierung der Risikominderung für die Datenerfassung, Gather Data Sampling (GDS).
GDS ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf Daten ermöglicht, die zuvor in Vektorregistern gespeichert wurden.
Der Angreifer verwendet Gather-Anweisungen, um die veralteten Vektorregisterdaten zu ermitteln.
\english{Enable mitigation for Gather Data Sampling (GDS).
GDS is a hardware vulnerability which allows unprivileged speculative access to data which was previously stored in vector registers.
The attacker uses gather instructions to infer the stale vector register data.}

%4.9
\subsection{RFDS Mitigation}
CONFIG\_MITIGATION\_RFDS [=y] \textbf{[Y]}\\
Aktivieren Sie standardmäßig die Schadensbegrenzung für Register File Data Sampling (RFDS).
RFDS ist eine Hardware-Schwachstelle, die Intel Atom CPUs betrifft.
Sie ermöglicht unprivilegierten spekulativen Zugriff auf veraltete Daten, die zuvor in Gleitkomma-, Vektor- und Integer-Registern gespeichert wurden.
Siehe auch $<$file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst$>$
\english{Enable mitigation for Register File Data Sampling (RFDS) by default.
RFDS is a hardware vulnerability which affects Intel Atom CPUs.
It allows unprivileged speculative access to stale data previously stored in floating point, vector and integer registers.
See also $<$file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst$>$}

%4.10
\subsection{Mitigate Spectre-BHB (Branch History Injection)}
CONFIG\_MITIGATION\_SPECTRE\_BHI [=y] \textbf{[Y]}\\
Aktivieren Sie BHI-Abschwächungen.
BHI-Angriffe sind eine Form von Spectre-V2-Angriffen, bei denen der Branch-History-Puffer vergiftet wird, um indirekte Verzweigungen spekulativ zu steuern.
Siehe $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$
\english{Enable BHI mitigations.
BHI attacks are a form of Spectre V2 attacks where the branch history buffer is poisoned to speculatively steer indirect branches.
See $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$}

%4.11
\subsection{Mitigate Microarchitectural Data Sampling (MDS) hardware bug}
CONFIG\_MITIGATION\_MDS [=y] \textbf{[Y]}\\*
Aktivierung der Abhilfemaßnahmen für Microarchitectural Data Sampling (MDS).
MDS ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf Daten ermöglicht, die in verschiedenen CPU-internen Puffern verfügbar sind.\\
Siehe auch $<$file:Documentation/admin-guide/hw-vuln/mds.rst$>$
\english{Enable mitigation for Microarchitectural Data Sampling (MDS).
MDS is a hardware vulnerability which allows unprivileged speculative access to data which is available in various CPU internal buffers.\\
See also $<$file:Documentation/admin-guide/hw-vuln/mds.rst$>$}

%4.12
\subsection{Mitigate TSX Asynchronous Abort (TAA) hardware bug}
CONFIG\_MITIGATION\_TAA [=y] \textbf{[Y]}\\*
Aktivieren Sie die Schadensbegrenzung für TSX Asynchronous Abort (TAA).
TAA ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf Daten ermöglicht, die in verschiedenen CPU-internen Puffern verfügbar sind, indem asynchrone Abbrüche innerhalb einer Intel TSX-Transaktionsregion verwendet werden.
Siehe auch $<$file:Documentation/admin-guide/hw-vuln/tsx\_async\_abort.rst$>$
\english{Enable mitigation for TSX Asynchronous Abort (TAA).
TAA is a hardware vulnerability that allows unprivileged speculative access to data which is available in various CPU internal buffers by using asynchronous aborts within an Intel TSX transactional region.
See also $<$file:Documentation/admin-guide/hw-vuln/tsx\_async\_abort.rst$>$}

%4.13
\subsection{Mitigate MMIO Stale Data hardware bug}
CONFIG\_MITIGATION\_MMIO\_STALE\_DATA [=y] \textbf{[Y]}\\*
Aktivierung der Fehlerbehebung für MMIO-Hardwarefehler aufgrund veralteter Daten.
Prozessor-MMIO-Sicherheitslücken aufgrund veralteter Daten sind eine Klasse von MMIO-Sicherheitslücken (Memory-Mapped I/O), durch die Daten offengelegt werden können.
Die Sicherheitslücken setzen voraus, dass der Angreifer Zugriff auf MMIO hat.\\
Siehe auch \texttt{file:Documentation/admin-guide/hw-vuln/processor\_mmio\_stale\_data.rst}
\english{Enable mitigation for MMIO Stale Data hardware bugs.
Processor MMIO Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO) vulnerabilities that can expose data.
The vulnerabilities require the attacker to have access to MMIO.\\
See also $<$file:Documentation/admin-guide/hw-vuln/processor\_mmio\_stale\_data.rst$>$}

%4.14
\subsection{Mitigate L1 Terminal Fault (L1TF) hardware bug}
CONFIG\_MITIGATION\_L1TF [=y] \textbf{[Y]}\\*
Entschärfung des L1 Terminal Fault (L1TF) Hardware-Fehlers.
L1 Terminal Fault ist eine Hardware-Schwachstelle, die unprivilegierten spekulativen Zugriff auf die im Level 1 Data Cache verfügbaren Daten ermöglicht.\\
Siehe \texttt{file:Documentation/admin-guide/hw-vuln/l1tf.rst}
\english{Mitigate L1 Terminal Fault (L1TF) hardware bug.
L1 Terminal Fault is a hardware vulnerability which allows unprivileged speculative access to data available in the Level 1 Data Cache.\\
See $<$file:Documentation/admin-guide/hw-vuln/l1tf.rst}

%4.15
\subsection{Mitigate RETBleed hardware bug}
CONFIG\_MITIGATION\_RETBLEED [=y] \textbf{[Y]}\\*
Aktivieren Sie Entschärfung für die RETBleed-Schwachstelle (Arbitrary Speculative Code Execution with Return Instructions).
RETBleed ist ein spekulativer Ausführungsangriff, der das mikroarchitektonische Verhalten in vielen modernen Mikroprozessoren ausnutzt, ähnlich wie bei Spectre v2.
Ein unprivilegierter Angreifer kann diese Schwachstellen nutzen, um herkömmliche Speichersicherheitsbeschränkungen zu umgehen und Lesezugriff auf privilegierten Speicher zu erlangen, der ansonsten unzugänglich wäre.
\english{Enable mitigation for RETBleed (Arbitrary Speculative Code Execution with Return Instructions) vulnerability.
RETBleed is a speculative execution attack which takes advantage of microarchitectural behavior in many modern microprocessors, similar to Spectre v2.
An unprivileged attacker can use these flaws to bypass conventional memory security restrictions to gain read access to privileged memory that would otherwise be inaccessible.}

%4.16
\subsection{Mitigate SPECTRE V1 hardware bug}
CONFIG\_MITIGATION\_SPECTRE\_V1 [=y] \textbf{[Y]}\\*
Aktiviert die Schadensbegrenzung für Spectre V1 (Bounds Check Bypass).
Spectre V1 ist eine Klasse von Seitenkanalangriffen, die sich die spekulative Ausführung zunutze macht, indem sie bedingte Verzweigungsanweisungen umgeht, die für die Überprüfung der Speicherzugriffsgrenzen verwendet werden.
Siehe auch \texttt{file:Documentation/admin-guide/hw-vuln/spectre.rst}
\english{Enable mitigation for Spectre V1 (Bounds Check Bypass).
Spectre V1 is a class of side channel attacks that takes advantage of speculative execution that bypasses conditional branch instructions used for memory access bounds check.\\
See also $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$}

%4.17
\subsection{Mitigate SPECTRE V2 hardware bug}
CONFIG\_MITIGATION\_SPECTRE\_V2 [=y] \textbf{[Y]}\\*
Aktivierung der Schadensbegrenzung für Spectre V2 (Branch Target Injection).
Spectre V2 ist eine Klasse von Seitenkanalangriffen, die indirekte Verzweigungsvorhersagen innerhalb des Prozessors ausnutzen.
Bei Angriffen der Spectre-Variante 2 kann der Angreifer spekulative indirekte Verzweigungen im Opfer zu Gadget-Code lenken, indem er den Verzweigungszielpuffer einer CPU vergiftet, der für die Vorhersage indirekter Verzweigungsadressen verwendet wird.\\
Siehe auch $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$
\english{Enable mitigation for Spectre V2 (Branch Target Injection).
Spectre V2 is a class of side channel attacks that takes advantage of indirect branch predictors inside the processor.
In Spectre variant 2 attacks, the attacker can steer speculative indirect branches in the victim to gadget code by poisoning the branch target buffer of a CPU used for predicting indirect branch addresses.\\
See also $<$file:Documentation/admin-guide/hw-vuln/spectre.rst$>$}

%4.18
\subsection{Mitigate Special Register Buffer Data Sampling (SRBDS) hardware bug}
CONFIG\_MITIGATION\_SRBDS [=y] \textbf{[Y]}\\*
Aktivierung der Schadensbegrenzung für Special Register Buffer Data Sampling (SRBDS).
SRBDS ist eine Hardware-Schwachstelle, die es MDS-Techniken (Microarchitectural Data Sampling) ermöglicht, von Spezialregisterzugriffen zurückgegebene Werte abzuleiten.
Ein nicht privilegierter Benutzer kann mithilfe von MDS-Techniken Werte extrahieren, die von RDRAND und RDSEED zurückgegeben werden, die auf einem anderen Kern oder Geschwister-Thread ausgeführt werden.\\
Siehe \texttt{file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst}
\english{Enable mitigation for Special Register Buffer Data Sampling (SRBDS).
SRBDS is a hardware vulnerability that allows Microarchitectural Data Sampling (MDS) techniques to infer values returned from special register accesses.
An unprivileged user can extract values returned from RDRAND and RDSEED executed on another core or sibling thread using MDS techniques.\\
See also $<$file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst$>$}

%4.19
\subsection{Mitigate Speculative Store Bypass (SSB) hardware bug}
CONFIG\_MITITGATION\_SSB [=y] \textbf{[Y]}\\*
Aktivierung der Schadensbegrenzung für Speculative Store Bypass (SSB).
SSB ist eine Hardware-Sicherheitslücke, deren Ausnutzung die spekulative Ausführung ähnlich wie bei den Sicherheitslücken Meltdown und Spectre ausnutzt.
\english{Enable mitigation for Speculative Store Bypass (SSB).
SSB is a hardware security vulnerability and its exploitation takes advantage of speculative execution in a similar way to the Meltdown and Spectre security vulnerabilities.}

%4.20
\subsection{Enable Indirect Target Selection mitigation \tiny{seit 6.15}}
CONFIG\_MITIGATION\_ITS [=y] \textbf{[Y]}\\*
Aktivierung der ITS-Abwehrmaßnahme (Indirect Target Selection).
ITS ist ein Fehler in der BPU einiger Intel-CPUs, der Angriffe vom Typ Spectre V2 ermöglichen kann.
Wenn diese Funktion deaktiviert ist, kann die Abwehrmaßnahme nicht über die Befehlszeile aktiviert werden.\\
Siehe $<$file:Documentation/admin-guide/hw-vuln/indirect-target-selection.rst$>$
\english{Enable Indirect Target Selection (ITS) mitigation. ITS is a bug in BPU on some Intel CPUs that may allow Spectre V2 style attacks. If disabled, mitigation cannot be enabled via cmdline.\\
See $<$file:Documentation/admin-guide/hw-vuln/indirect-target-selection.rst$>$}

%4.21 Mitigate Transient Scheduler Attacks
\subsection{Mitigate Transient Scheduler Attacks \tiny{seit 6.16}}
CONFIG\_MITIGATION\_TSA [=y] \textbf{[Y]}\\*
Abwehrmaßnahmen für Transient Scheduler Attacks aktivieren.
TSA ist eine Hardware-Sicherheitslücke in AMD-CPUs, die dazu führen kann, dass ungültige Informationen an nachfolgende Befehle weitergeleitet werden, wodurch deren Timing beeinträchtigt wird und somit eine Datenleckage verursacht werden kann.
\english{Enable mitigation for Transient Scheduler Attacks.
TSA is a hardware security vulnerability on AMD CPUs which can lead to forwarding of invalid info to subsequent instructions and thus can affect their timing and thereby cause a leakage.}

%4.22 Mitigate VMSCAPE
\subsection{Mitigate VMSCAPE \tiny{seit 6.17}}
CONFIG\_MITIGATION\_VMSCAPE [=y] \textbf{[Y]}\\*
Aktivierung der Abwehr von VMSCAPE-Angriffen.
VMSCAPE ist eine Hardware-Sicherheitslücke in Intel- und AMD-CPUs, die es einem Gast ermöglichen kann, Spectre-v2-ähnliche Angriffe auf den Userspace-Hypervisor durchzuführen.
\english{Enable mitigation for VMSCAPE attacks.
VMSCAPE is a hardware security vulnerability on Intel and AMD CPUs that may allow a guest to do Spectre v2 style attacks on userspace hypervisor.}
