mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
x86: Make "spec-ctrl=no" a global disable of all mitigations
In order to have a simple and easy to remember means to suppress all the
more or less recent workarounds for hardware vulnerabilities, force
settings not controlled by "spec-ctrl=" also to their original defaults,
unless they've been forced to specific values already by earlier command
line options.
This is part of XSA-273.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(cherry picked from commit d8800a82c3)
This commit is contained in:
1 parent
4b12b44b21
commit
1ecb0d46d3
2 files changed
+18
-4
No files matched your search
@@ -1479,10 +1479,15 @@ extreme care.**
|
||||
|
||||
An overall boolean value, `spec-ctrl=no`, can be specified to turn off all
|
||||
mitigations, including pieces of infrastructure used to virtualise certain
|
||||
mitigation features for guests. Alternatively, a slightly more restricted
|
||||
`spec-ctrl=no-xen` can be used to turn off all of Xen's mitigations, while
|
||||
leaving the virtualisation support in place for guests to use. Use of a
|
||||
positive boolean value for either of these options is invalid.
|
||||
mitigation features for guests. This also includes settings which `xpti`,
|
||||
`smt`, `pv-l1tf` control, unless the respective option(s) have been
|
||||
specified earlier on the command line.
|
||||
|
||||
Alternatively, a slightly more restricted `spec-ctrl=no-xen` can be used to
|
||||
turn off all of Xen's mitigations, while leaving the virtualisation support
|
||||
in place for guests to use.
|
||||
|
||||
Use of a positive boolean value for either of these options is invalid.
|
||||
|
||||
The booleans `pv=`, `hvm=`, `msr-sc=` and `rsb=` offer fine grained control
|
||||
over the alternative blocks used by Xen. These impact Xen's ability to
|
||||
|
||||
@@ -116,6 +116,15 @@ static int __init parse_spec_ctrl(char *s)
|
||||
|
||||
opt_eager_fpu = 0;
|
||||
|
||||
if ( opt_xpti < 0 )
|
||||
opt_xpti = 0;
|
||||
|
||||
if ( opt_smt < 0 )
|
||||
opt_smt = 1;
|
||||
|
||||
if ( opt_pv_l1tf < 0 )
|
||||
opt_pv_l1tf = 0;
|
||||
|
||||
disable_common:
|
||||
opt_rsb_pv = 0;
|
||||
opt_rsb_hvm = 0;
|
||||
|
||||