Skip to content

Commit 09f9f37

Browse files
committed
Documentation/srso: Document IBPB aspect and fix formatting
Add a note about the dependency of the User->User mitigation on the previous Spectre v2 IBPB selection. Make the layout moar pretty. Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20230809102700.29449-4-bp@alien8.de
1 parent 0fddfe3 commit 09f9f37

File tree

1 file changed

+44
-27
lines changed
  • Documentation/admin-guide/hw-vuln

1 file changed

+44
-27
lines changed

Documentation/admin-guide/hw-vuln/srso.rst

Lines changed: 44 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -42,42 +42,59 @@ The sysfs file showing SRSO mitigation status is:
4242

4343
The possible values in this file are:
4444

45-
- 'Not affected' The processor is not vulnerable
45+
* 'Not affected':
4646

47-
- 'Vulnerable: no microcode' The processor is vulnerable, no
48-
microcode extending IBPB functionality
49-
to address the vulnerability has been
50-
applied.
47+
The processor is not vulnerable
5148

52-
- 'Mitigation: microcode' Extended IBPB functionality microcode
53-
patch has been applied. It does not
54-
address User->Kernel and Guest->Host
55-
transitions protection but it does
56-
address User->User and VM->VM attack
57-
vectors.
49+
* 'Vulnerable: no microcode':
5850

59-
(spec_rstack_overflow=microcode)
51+
The processor is vulnerable, no microcode extending IBPB
52+
functionality to address the vulnerability has been applied.
6053

61-
- 'Mitigation: safe RET' Software-only mitigation. It complements
62-
the extended IBPB microcode patch
63-
functionality by addressing User->Kernel
64-
and Guest->Host transitions protection.
54+
* 'Mitigation: microcode':
6555

66-
Selected by default or by
67-
spec_rstack_overflow=safe-ret
56+
Extended IBPB functionality microcode patch has been applied. It does
57+
not address User->Kernel and Guest->Host transitions protection but it
58+
does address User->User and VM->VM attack vectors.
6859

69-
- 'Mitigation: IBPB' Similar protection as "safe RET" above
70-
but employs an IBPB barrier on privilege
71-
domain crossings (User->Kernel,
72-
Guest->Host).
60+
Note that User->User mitigation is controlled by how the IBPB aspect in
61+
the Spectre v2 mitigation is selected:
7362

74-
(spec_rstack_overflow=ibpb)
63+
* conditional IBPB:
64+
65+
where each process can select whether it needs an IBPB issued
66+
around it PR_SPEC_DISABLE/_ENABLE etc, see :doc:`spectre`
67+
68+
* strict:
69+
70+
i.e., always on - by supplying spectre_v2_user=on on the kernel
71+
command line
72+
73+
(spec_rstack_overflow=microcode)
74+
75+
* 'Mitigation: safe RET':
76+
77+
Software-only mitigation. It complements the extended IBPB microcode
78+
patch functionality by addressing User->Kernel and Guest->Host
79+
transitions protection.
80+
81+
Selected by default or by spec_rstack_overflow=safe-ret
82+
83+
* 'Mitigation: IBPB':
84+
85+
Similar protection as "safe RET" above but employs an IBPB barrier on
86+
privilege domain crossings (User->Kernel, Guest->Host).
87+
88+
(spec_rstack_overflow=ibpb)
89+
90+
* 'Mitigation: IBPB on VMEXIT':
91+
92+
Mitigation addressing the cloud provider scenario - the Guest->Host
93+
transitions only.
94+
95+
(spec_rstack_overflow=ibpb-vmexit)
7596

76-
- 'Mitigation: IBPB on VMEXIT' Mitigation addressing the cloud provider
77-
scenario - the Guest->Host transitions
78-
only.
7997

80-
(spec_rstack_overflow=ibpb-vmexit)
8198

8299
In order to exploit vulnerability, an attacker needs to:
83100

0 commit comments

Comments
 (0)