diff options
Diffstat (limited to 'Documentation/x86/mds.rst')
-rw-r--r-- | Documentation/x86/mds.rst | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/x86/mds.rst b/Documentation/x86/mds.rst index 87ce8ac9f36e..3d6f943f1afb 100644 --- a/Documentation/x86/mds.rst +++ b/Documentation/x86/mds.rst | |||
@@ -93,11 +93,38 @@ The kernel provides a function to invoke the buffer clearing: | |||
93 | The mitigation is invoked on kernel/userspace, hypervisor/guest and C-state | 93 | The mitigation is invoked on kernel/userspace, hypervisor/guest and C-state |
94 | (idle) transitions. | 94 | (idle) transitions. |
95 | 95 | ||
96 | As a special quirk to address virtualization scenarios where the host has | ||
97 | the microcode updated, but the hypervisor does not (yet) expose the | ||
98 | MD_CLEAR CPUID bit to guests, the kernel issues the VERW instruction in the | ||
99 | hope that it might actually clear the buffers. The state is reflected | ||
100 | accordingly. | ||
101 | |||
96 | According to current knowledge additional mitigations inside the kernel | 102 | According to current knowledge additional mitigations inside the kernel |
97 | itself are not required because the necessary gadgets to expose the leaked | 103 | itself are not required because the necessary gadgets to expose the leaked |
98 | data cannot be controlled in a way which allows exploitation from malicious | 104 | data cannot be controlled in a way which allows exploitation from malicious |
99 | user space or VM guests. | 105 | user space or VM guests. |
100 | 106 | ||
107 | Kernel internal mitigation modes | ||
108 | -------------------------------- | ||
109 | |||
110 | ======= ============================================================ | ||
111 | off Mitigation is disabled. Either the CPU is not affected or | ||
112 | mds=off is supplied on the kernel command line | ||
113 | |||
114 | full Mitigation is eanbled. CPU is affected and MD_CLEAR is | ||
115 | advertised in CPUID. | ||
116 | |||
117 | vmwerv Mitigation is enabled. CPU is affected and MD_CLEAR is not | ||
118 | advertised in CPUID. That is mainly for virtualization | ||
119 | scenarios where the host has the updated microcode but the | ||
120 | hypervisor does not expose MD_CLEAR in CPUID. It's a best | ||
121 | effort approach without guarantee. | ||
122 | ======= ============================================================ | ||
123 | |||
124 | If the CPU is affected and mds=off is not supplied on the kernel command | ||
125 | line then the kernel selects the appropriate mitigation mode depending on | ||
126 | the availability of the MD_CLEAR CPUID bit. | ||
127 | |||
101 | Mitigation points | 128 | Mitigation points |
102 | ----------------- | 129 | ----------------- |
103 | 130 | ||