)sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget>/translations/zh_CN/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/zh_TW/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/it_IT/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/ja_JP/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/ko_KR/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/pt_BR/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget>/translations/sp_SP/admin-guide/hw-vuln/attack_vector_controlsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhX/var/lib/git/docbuild/linux/Documentation/admin-guide/hw-vuln/attack_vector_controls.rsthKubhsection)}(hhh](htitle)}(hAttack Vector Controlsh]hAttack Vector Controls}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX)Attack vector controls provide a simple method to configure only the mitigations for CPU vulnerabilities which are relevant given the intended use of a system. Administrators are encouraged to consider which attack vectors are relevant and disable all others in order to recoup system performance.h]hX)Attack vector controls provide a simple method to configure only the mitigations for CPU vulnerabilities which are relevant given the intended use of a system. Administrators are encouraged to consider which attack vectors are relevant and disable all others in order to recoup system performance.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXWhen new relevant CPU vulnerabilities are found, they will be added to these attack vector controls so administrators will likely not need to reconfigure their command line parameters as mitigations will continue to be correctly applied based on the chosen attack vector controls.h]hXWhen new relevant CPU vulnerabilities are found, they will be added to these attack vector controls so administrators will likely not need to reconfigure their command line parameters as mitigations will continue to be correctly applied based on the chosen attack vector controls.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(hAttack Vectorsh]hAttack Vectors}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hPThere are 5 sets of attack-vector mitigations currently supported by the kernel:h]hPThere are 5 sets of attack-vector mitigations currently supported by the kernel:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhenumerated_list)}(hhh](h list_item)}(h:ref:`user_kernel`h]h)}(hj#h]h)}(hj#h]hinline)}(hj#h]h user_kernel}(hj-hhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j+hj(ubah}(h]h ]h"]h$]h&]refdoc*admin-guide/hw-vuln/attack_vector_controls refdomainj8reftyperef refexplicitrefwarn reftarget user_kerneluh1hhhhKhj%ubah}(h]h ]h"]h$]h&]uh1hhhhKhj!ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj )}(h:ref:`user_user`h]h)}(hjZh]h)}(hjZh]j,)}(hjZh]h user_user}(hjbhhhNhNubah}(h]h ](j7stdstd-refeh"]h$]h&]uh1j+hj_ubah}(h]h ]h"]h$]h&]refdocjD refdomainjlreftyperef refexplicitrefwarnjJ user_useruh1hhhhKhj\ubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj )}(h:ref:`guest_host`h]h)}(hjh]h)}(hjh]j,)}(hjh]h guest_host}(hjhhhNhNubah}(h]h ](j7stdstd-refeh"]h$]h&]uh1j+hjubah}(h]h ]h"]h$]h&]refdocjD refdomainjreftyperef refexplicitrefwarnjJ guest_hostuh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj )}(h:ref:`guest_guest`h]h)}(hjh]h)}(hjh]j,)}(hjh]h guest_guest}(hjhhhNhNubah}(h]h ](j7stdstd-refeh"]h$]h&]uh1j+hjubah}(h]h ]h"]h$]h&]refdocjD refdomainjreftyperef refexplicitrefwarnjJ guest_guestuh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj )}(h :ref:`smt` h]h)}(h :ref:`smt`h]h)}(hjh]j,)}(hjh]hsmt}(hjhhhNhNubah}(h]h ](j7stdstd-refeh"]h$]h&]uh1j+hjubah}(h]h ]h"]h$]h&]refdocjD refdomainjreftyperef refexplicitrefwarnjJsmtuh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1jhhhhhhhKubh)}(h:To control the enabled attack vectors, see :ref:`cmdline`.h](h+To control the enabled attack vectors, see }(hj,hhhNhNubh)}(h:ref:`cmdline`h]j,)}(hj6h]hcmdline}(hj8hhhNhNubah}(h]h ](j7stdstd-refeh"]h$]h&]uh1j+hj4ubah}(h]h ]h"]h$]h&]refdocjD refdomainjBreftyperef refexplicitrefwarnjJcmdlineuh1hhhhKhj,ubh.}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhtarget)}(h.. _user_kernel:h]h}(h]h ]h"]h$]h&]refid user-kerneluh1j^hKhhhhhhubh)}(hhh](h)}(hUser-to-Kernelh]hUser-to-Kernel}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlhhhhhK ubh)}(hX+The user-to-kernel attack vector involves a malicious userspace program attempting to leak kernel data into userspace by exploiting a CPU vulnerability. The kernel data involved might be limited to certain kernel memory, or include all memory in the system, depending on the vulnerability exploited.h]hX+The user-to-kernel attack vector involves a malicious userspace program attempting to leak kernel data into userspace by exploiting a CPU vulnerability. The kernel data involved might be limited to certain kernel memory, or include all memory in the system, depending on the vulnerability exploited.}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjlhhubh)}(hIf no untrusted userspace applications are being run, such as with single-user systems, consider disabling user-to-kernel mitigations.h]hIf no untrusted userspace applications are being run, such as with single-user systems, consider disabling user-to-kernel mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjlhhubh)}(hNote that the CPU vulnerabilities mitigated by Linux have generally not been shown to be exploitable from browser-based sandboxes. User-to-kernel mitigations are therefore mostly relevant if unknown userspace applications may be run by untrusted users.h]hNote that the CPU vulnerabilities mitigated by Linux have generally not been shown to be exploitable from browser-based sandboxes. User-to-kernel mitigations are therefore mostly relevant if unknown userspace applications may be run by untrusted users.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjlhhubh)}(h3*user-to-kernel mitigations are enabled by default*h]hemphasis)}(hjh]h1user-to-kernel mitigations are enabled by default}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK/hjlhhubj_)}(h.. _user_user:h]h}(h]h ]h"]h$]h&]jj user-useruh1j^hK1hjlhhhhubeh}(h](user-to-kerneljkeh ]h"](user-to-kernel user_kerneleh$]h&]uh1hhhhhhhhK expect_referenced_by_name}jj`sexpect_referenced_by_id}jkj`subh)}(hhh](h)}(h User-to-Userh]h User-to-User}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK4ubh)}(hXThe user-to-user attack vector involves a malicious userspace program attempting to influence the behavior of another unsuspecting userspace program in order to exfiltrate data. The vulnerability of a userspace program is based on the program itself and the interfaces it provides.h]hXThe user-to-user attack vector involves a malicious userspace program attempting to influence the behavior of another unsuspecting userspace program in order to exfiltrate data. The vulnerability of a userspace program is based on the program itself and the interfaces it provides.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjhhubh)}(hbIf no untrusted userspace applications are being run, consider disabling user-to-user mitigations.h]hbIf no untrusted userspace applications are being run, consider disabling user-to-user mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjhhubh)}(hNote that because the Linux kernel contains a mapping of all physical memory, preventing a malicious userspace program from leaking data from another userspace program requires mitigating user-to-kernel attacks as well for complete protection.h]hNote that because the Linux kernel contains a mapping of all physical memory, preventing a malicious userspace program from leaking data from another userspace program requires mitigating user-to-kernel attacks as well for complete protection.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjhhubh)}(h1*user-to-user mitigations are enabled by default*h]j)}(hjh]h/user-to-user mitigations are enabled by default}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKChjhhubj_)}(h.. _guest_host:h]h}(h]h ]h"]h$]h&]jj guest-hostuh1j^hKEhjhhhhubeh}(h]( user-to-userjeh ]h"]( user-to-user user_usereh$]h&]uh1hhhhhhhhK4j}j;jsj}jjsubh)}(hhh](h)}(h Guest-to-Hosth]h Guest-to-Host}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hhhhhKHubh)}(hThe guest-to-host attack vector involves a malicious VM attempting to leak hypervisor data into the VM. The data involved may be limited, or may potentially include all memory in the system, depending on the vulnerability exploited.h]hThe guest-to-host attack vector involves a malicious VM attempting to leak hypervisor data into the VM. The data involved may be limited, or may potentially include all memory in the system, depending on the vulnerability exploited.}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhj@hhubh)}(hPIf no untrusted VMs are being run, consider disabling guest-to-host mitigations.h]hPIf no untrusted VMs are being run, consider disabling guest-to-host mitigations.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj@hhubh)}(hL*guest-to-host mitigations are enabled by default if KVM support is present*h]j)}(hjoh]hJguest-to-host mitigations are enabled by default if KVM support is present}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubah}(h]h ]h"]h$]h&]uh1hhhhKQhj@hhubj_)}(h.. _guest_guest:h]h}(h]h ]h"]h$]h&]jj guest-guestuh1j^hKShj@hhhhubeh}(h]( guest-to-hostj4eh ]h"]( guest-to-host guest_hosteh$]h&]uh1hhhhhhhhKHj}jj*sj}j4j*subh)}(hhh](h)}(hGuest-to-Guesth]hGuest-to-Guest}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKVubh)}(hThe guest-to-guest attack vector involves a malicious VM attempting to influence the behavior of another unsuspecting VM in order to exfiltrate data. The vulnerability of a VM is based on the code inside the VM itself and the interfaces it provides.h]hThe guest-to-guest attack vector involves a malicious VM attempting to influence the behavior of another unsuspecting VM in order to exfiltrate data. The vulnerability of a VM is based on the code inside the VM itself and the interfaces it provides.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjhhubh)}(heIf no untrusted VMs, or only a single VM is being run, consider disabling guest-to-guest mitigations.h]heIf no untrusted VMs, or only a single VM is being run, consider disabling guest-to-guest mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjhhubh)}(hSimilar to the user-to-user attack vector, preventing a malicious VM from leaking data from another VM requires mitigating guest-to-host attacks as well due to the Linux kernel phys map.h]hSimilar to the user-to-user attack vector, preventing a malicious VM from leaking data from another VM requires mitigating guest-to-host attacks as well due to the Linux kernel phys map.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjhhubh)}(hM*guest-to-guest mitigations are enabled by default if KVM support is present*h]j)}(hjh]hKguest-to-guest mitigations are enabled by default if KVM support is present}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKdhjhhubj_)}(h.. _smt:h]h}(h]h ]h"]h$]h&]jjsmtuh1j^hKfhjhhhhubeh}(h](guest-to-guestjeh ]h"](guest-to-guest guest_guesteh$]h&]uh1hhhhhhhhKVj}jjsj}jjsubh)}(hhh](h)}(h Cross-Threadh]h Cross-Thread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKiubh)}(hThe cross-thread attack vector involves a malicious userspace program or malicious VM either observing or attempting to influence the behavior of code running on the SMT sibling thread in order to exfiltrate data.h]hThe cross-thread attack vector involves a malicious userspace program or malicious VM either observing or attempting to influence the behavior of code running on the SMT sibling thread in order to exfiltrate data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjhhubh)}(hMany cross-thread attacks can only be mitigated if SMT is disabled, which will result in reduced CPU core count and reduced performance.h]hMany cross-thread attacks can only be mitigated if SMT is disabled, which will result in reduced CPU core count and reduced performance.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjhhubh)}(hIf cross-thread mitigations are fully enabled ('auto,nosmt'), all mitigations for cross-thread attacks will be enabled. SMT may be disabled depending on which vulnerabilities are present in the CPU.h]hIf cross-thread mitigations are fully enabled (‘auto,nosmt’), all mitigations for cross-thread attacks will be enabled. SMT may be disabled depending on which vulnerabilities are present in the CPU.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjhhubh)}(hIf cross-thread mitigations are partially enabled ('auto'), mitigations for cross-thread attacks will be enabled but SMT will not be disabled.h]hIf cross-thread mitigations are partially enabled (‘auto’), mitigations for cross-thread attacks will be enabled but SMT will not be disabled.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjhhubh)}(hbIf cross-thread mitigations are disabled, no mitigations for cross-thread attacks will be enabled.h]hbIf cross-thread mitigations are disabled, no mitigations for cross-thread attacks will be enabled.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjhhubh)}(hCross-thread mitigation may not be required if core-scheduling or similar techniques are used to prevent untrusted workloads from running on SMT siblings.h]hCross-thread mitigation may not be required if core-scheduling or similar techniques are used to prevent untrusted workloads from running on SMT siblings.}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hjhhubh)}(h7*cross-thread mitigations default to partially enabled*h]j)}(hjih]h5cross-thread mitigations default to partially enabled}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj_)}(h .. _cmdline:h]h}(h]h ]h"]h$]h&]jjcmdlineuh1j^hKhjhhhhubeh}(h]( cross-threadjeh ]h"]( cross-threadsmteh$]h&]uh1hhhhhhhhKij}jjsj}jjsubeh}(h]attack-vectorsah ]h"]attack vectorsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hCommand Line Controlsh]hCommand Line Controls}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hAttack vectors are controlled through the mitigations= command line option. The value provided begins with a global option and then may optionally include one or more options to disable various attack vectors.h]hAttack vectors are controlled through the mitigations= command line option. The value provided begins with a global option and then may optionally include one or more options to disable various attack vectors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hOFormat: | ``mitigations=[global]`` | ``mitigations=[global],[attack vectors]`` h](hterm)}(hFormat:h]hFormat:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h line_block)}(hhh](hh)}(h``mitigations=[global]``h]hliteral)}(hjh]hmitigations=[global]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hindentKhjhhhKubj)}(h)``mitigations=[global],[attack vectors]``h]j)}(hjh]h%mitigations=[global],[attack vectors]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hjKhjhhhKubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hGlobal options:h]hGlobal options:}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jBhj?ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthK=uh1jBhj?ubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hOptionh]hOption}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjdubah}(h]h ]h"]h$]h&]uh1jbhj_ubjc)}(hhh]h)}(h Descriptionh]h Description}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jbhj_ubeh}(h]h ]h"]h$]h&]uh1j]hjZubah}(h]h ]h"]h$]h&]uh1jXhj?ubhtbody)}(hhh](j^)}(hhh](jc)}(hhh]h)}(h'off'h]h ‘off’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hAll attack vectors disabled.h]hAll attack vectors disabled.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h'auto'h]h ‘auto’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h=All attack vectors enabled, partial cross-thread mitigations.h]h=All attack vectors enabled, partial cross-thread mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h 'auto,nosmt'h]h‘auto,nosmt’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h:All attack vectors enabled, full cross-thread mitigations.h]h:All attack vectors enabled, full cross-thread mitigations.}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubeh}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]colsKuh1j=hj:ubah}(h]h ]h"]h$]h&]uh1j8hjhhhhhNubh)}(hAttack vector options:h]hAttack vector options:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj9)}(hhh]j>)}(hhh](jC)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jBhjlubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthK'uh1jBhjlubjY)}(hhh]j^)}(hhh](jc)}(hhh]h)}(hOptionh]hOption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubah}(h]h ]h"]h$]h&]uh1jXhjlubj)}(hhh](j^)}(hhh](jc)}(hhh]h)}(h'no_user_kernel'h]h‘no_user_kernel’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h$Disables user-to-kernel mitigations.h]h$Disables user-to-kernel mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h'no_user_user'h]h‘no_user_user’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h"Disables user-to-user mitigations.h]h"Disables user-to-user mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h'no_guest_host'h]h‘no_guest_host’}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jbhj4ubjc)}(hhh]h)}(h#Disables guest-to-host mitigations.h]h#Disables guest-to-host mitigations.}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjNubah}(h]h ]h"]h$]h&]uh1jbhj4ubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h'no_guest_guest'h]h‘no_guest_guest’}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1jbhjkubjc)}(hhh]h)}(h#Disables guest-to-guest mitigationsh]h#Disables guest-to-guest mitigations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjkubeh}(h]h ]h"]h$]h&]uh1j]hjubj^)}(hhh](jc)}(hhh]h)}(h'no_cross_thread'h]h‘no_cross_thread’}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h&Disables all cross-thread mitigations.h]h&Disables all cross-thread mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hjubeh}(h]h ]h"]h$]h&]uh1jhjlubeh}(h]h ]h"]h$]h&]colsKuh1j=hjiubah}(h]h ]h"]h$]h&]uh1j8hjhhhhhNubh)}(hMultiple attack vector options may be specified in a comma-separated list. If the global option is not specified, it defaults to 'auto'. The global option 'off' is equivalent to disabling all attack vectors.h]hMultiple attack vector options may be specified in a comma-separated list. If the global option is not specified, it defaults to ‘auto’. The global option ‘off’ is equivalent to disabling all attack vectors.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]j)}(hXExamples: | ``mitigations=auto,no_user_kernel`` Enable all attack vectors except user-to-kernel. Partial cross-thread mitigations. | ``mitigations=auto,nosmt,no_guest_host,no_guest_guest`` Enable all attack vectors and cross-thread mitigations except for guest-to-host and guest-to-guest mitigations. | ``mitigations=,no_cross_thread`` Enable all attack vectors but not cross-thread mitigations. h](j)}(h Examples:h]h Examples:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh](j)}(hhh]j)}(h#``mitigations=auto,no_user_kernel``h]j)}(hjh]hmitigations=auto,no_user_kernel}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hjKhjhhhKubah}(h]h ]h"]h$]h&]uh1jhjubh)}(hSEnable all attack vectors except user-to-kernel. Partial cross-thread mitigations.h]hSEnable all attack vectors except user-to-kernel. Partial cross-thread mitigations.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hhh]j)}(h7``mitigations=auto,nosmt,no_guest_host,no_guest_guest``h]j)}(hjEh]h3mitigations=auto,nosmt,no_guest_host,no_guest_guest}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubah}(h]h ]h"]h$]h&]uh1hjKhj@hhhKubah}(h]h ]h"]h$]h&]uh1jhjubh)}(hoEnable all attack vectors and cross-thread mitigations except for guest-to-host and guest-to-guest mitigations.h]hoEnable all attack vectors and cross-thread mitigations except for guest-to-host and guest-to-guest mitigations.}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hhh]j)}(h ``mitigations=,no_cross_thread``h]j)}(hjsh]hmitigations=,no_cross_thread}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1hjKhjnhhhKubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h;Enable all attack vectors but not cross-thread mitigations.h]h;Enable all attack vectors but not cross-thread mitigations.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h](command-line-controlsjeh ]h"](command line controlscmdlineeh$]h&]uh1hhhhhhhhKj}jj~sj}jj~subh)}(hhh](h)}(h&Interactions with command-line optionsh]h&Interactions with command-line options}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hVulnerability-specific controls (e.g. "retbleed=off") take precedence over all attack vector controls. Mitigations for individual vulnerabilities may be turned on or off via their command-line options regardless of the attack vector controls.h]hVulnerability-specific controls (e.g. “retbleed=off”) take precedence over all attack vector controls. Mitigations for individual vulnerabilities may be turned on or off via their command-line options regardless of the attack vector controls.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]&interactions-with-command-line-optionsah ]h"]&interactions with command-line optionsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h$Summary of attack-vector mitigationsh]h$Summary of attack-vector mitigations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hWhen a vulnerability is mitigated due to an attack-vector control, the default mitigation option for that particular vulnerability is used. To use a different mitigation, please use the vulnerability-specific command line option.h]hWhen a vulnerability is mitigated due to an attack-vector control, the default mitigation option for that particular vulnerability is used. To use a different mitigation, please use the vulnerability-specific command line option.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThe table below summarizes which vulnerabilities are mitigated when different attack vectors are enabled and assuming the CPU is vulnerable.h]hThe table below summarizes which vulnerabilities are mitigated when different attack vectors are enabled and assuming the CPU is vulnerable.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj9)}(hhh]j>)}(hhh](jC)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jBhj ubjC)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jBhj ubjY)}(hhh]j^)}(hhh](jc)}(hhh]h)}(h Vulnerabilityh]h Vulnerability}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(hUser-to-Kernelh]hUser-to-Kernel}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjv ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(h User-to-Userh]h User-to-User}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(h Guest-to-Hosth]h Guest-to-Host}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(hGuest-to-Guesth]hGuest-to-Guest}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(h Cross-Threadh]h Cross-Thread}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubjc)}(hhh]h)}(hNotesh]hNotes}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj\ ubeh}(h]h ]h"]h$]h&]uh1j]hjY ubah}(h]h ]h"]h$]h&]uh1jXhj ubj)}(hhh](j^)}(hhh](jc)}(hhh]h)}(hBHIh]hBHI}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hXh]hX}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj) ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjI ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hITSh]hITS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hGDSh]hGDS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6 ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjL ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h bullet_list)}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhjg ubah}(h]h ]h"]h$]h&]bullet*uh1je hhhKhjb ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(h(Note 1)h]h(Note 1)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hL1TFh]hL1TF}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(h(Note 2)h]h(Note 2)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hMDSh]hMDS}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj1 ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]h)}(hj. h]hX}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjH ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]h)}(hj. h]hX}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj^ ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]h)}(hj. h]hX}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjt ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj. ubjc)}(hhh]h)}(h(Note 2)h]h(Note 2)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj. ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hMMIOh]hMMIO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj4 ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhjM ubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhjJ ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(h(Note 2)h]h(Note 2)}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhje ubah}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hMeltdownh]hMeltdown}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hRetbleedh]hRetbleed}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhj@ubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhj=ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(h(Note 3)h]h(Note 3)}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjXubah}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hRFDSh]hRFDS}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjxubah}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjuubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjuubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(h Spectre_v1h]h Spectre_v1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(h Spectre_v2h]h Spectre_v2}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hSpectre_v2_userh]hSpectre_v2_user}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhj*ubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h(Note 1)h]h(Note 1)}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjEubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hSRBDSh]hSRBDS}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjeubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj|ubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjbubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hSRSOh]hSRSO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2ubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjHubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hSSBh]hSSB}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjyubah}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjvubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjvubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hTAAh]hTAA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj5ubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]jf )}(hhh]j )}(hhh]h}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]jy jz uh1je hhhKhjKubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(h(Note 2)h]h(Note 2)}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hTSAh]hTSA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h)}(hj. h]hX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhjubeh}(h]h ]h"]h$]h&]uh1j]hj ubj^)}(hhh](jc)}(hhh]h)}(hVMSCAPEh]hVMSCAPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h)}(hj. h]hX}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubjc)}(hhh]h}(h]h ]h"]h$]h&]uh1jbhj ubeh}(h]h ]h"]h$]h&]uh1j]hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1j=hj ubah}(h]h ]h"]h$]h&]uh1j8hjhhhhhNubj)}(hhh]j)}(hXNotes: 1 -- Can be mitigated without disabling SMT. 2 -- Disables SMT if cross-thread mitigations are fully enabled and the CPU is vulnerable 3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is vulnerable, and STIBP is not supported h](j)}(hNotes:h]hNotes:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh](h)}(h-1 -- Can be mitigated without disabling SMT.h]h-1 -- Can be mitigated without disabling SMT.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h[2 -- Disables SMT if cross-thread mitigations are fully enabled and the CPU is vulnerableh]h[2 -- Disables SMT if cross-thread mitigations are fully enabled and the CPU is vulnerable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hs3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is vulnerable, and STIBP is not supportedh]hs3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is vulnerable, and STIBP is not supported}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hXWhen an attack-vector is disabled, all mitigations for the vulnerabilities listed in the above table are disabled, unless mitigation is required for a different enabled attack-vector or a mitigation is explicitly selected via a vulnerability-specific command line option.h]hXWhen an attack-vector is disabled, all mitigations for the vulnerabilities listed in the above table are disabled, unless mitigation is required for a different enabled attack-vector or a mitigation is explicitly selected via a vulnerability-specific command line option.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]$summary-of-attack-vector-mitigationsah ]h"]$summary of attack-vector mitigationsah$]h&]uh1hhhhhhhhKubeh}(h]attack-vector-controlsah ]h"]attack vector controlsah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjbfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(jk]j`aj]jaj4]j*aj]jaj]jaj]j~aunameids}(jjjjjjkjjj;jj:j7jj4jjjjjjjjjjjjjjjjjju nametypes}(jjjjj;j:jjjjjjjjjjuh}(jhjhjkjljjljjj7jj4j@jj@jjjjjjjjjjjjjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h1Hyperlink target "user-kernel" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1jubj)}(hhh]h)}(hhh]h/Hyperlink target "user-user" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineK1uh1jubj)}(hhh]h)}(hhh]h0Hyperlink target "guest-host" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineKEuh1jubj)}(hhh]h)}(hhh]h1Hyperlink target "guest-guest" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineKSuh1jubj)}(hhh]h)}(hhh]h)Hyperlink target "smt" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineKfuh1jubj)}(hhh]h)}(hhh]h-Hyperlink target "cmdline" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehnjlineKuh1jube transformerN include_log] decorationNhhub.