Skip to content

Commit bfa447c

Browse files
author
Alexei Starovoitov
committed
Merge branch 'bpf-next/master' into for-next
Signed-off-by: Alexei Starovoitov <[email protected]>
2 parents 5b6d6fe + 5d87e96 commit bfa447c

File tree

1,219 files changed

+16403
-6965
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,219 files changed

+16403
-6965
lines changed

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@ Domen Puncer <[email protected]>
226226
Douglas Gilbert <[email protected]>
227227
228228
229+
230+
229231
Ed L. Cashin <[email protected]>
230232
231233
Enric Balletbo i Serra <[email protected]> <[email protected]>
@@ -587,6 +589,7 @@ Nikolay Aleksandrov <[email protected]> <[email protected]>
587589
Nikolay Aleksandrov <[email protected]> <[email protected]>
588590
Nikolay Aleksandrov <[email protected]> <[email protected]>
589591
Nikolay Aleksandrov <[email protected]> <[email protected]>
592+
590593
591594
Oleksandr Natalenko <[email protected]> <[email protected]>
592595

CREDITS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,6 +3222,10 @@ D: AIC5800 IEEE 1394, RAW I/O on 1394
32223222
D: Starter of Linux1394 effort
32233223
S: ask per mail for current address
32243224

3225+
N: Boris Pismenny
3226+
3227+
D: Kernel TLS implementation and offload support.
3228+
32253229
N: Nicolas Pitre
32263230
32273231
D: StrongARM SA1100 support integrator & hacker
@@ -4168,6 +4172,9 @@ S: 1513 Brewster Dr.
41684172
S: Carrollton, TX 75010
41694173
S: USA
41704174

4175+
N: Dave Watson
4176+
D: Kernel TLS implementation.
4177+
41714178
N: Tim Waugh
41724179
41734180
D: Co-architect of the parallel-port sharing system

Documentation/ABI/stable/sysfs-block

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ Contact: [email protected]
731731
Description:
732732
[RW] If the device is registered for writeback throttling, then
733733
this file shows the target minimum read latency. If this latency
734-
is exceeded in a given window of time (see wb_window_usec), then
734+
is exceeded in a given window of time (see curr_win_nsec), then
735735
the writeback throttling will start scaling back writes. Writing
736736
a value of '0' to this file disables the feature. Writing a
737737
value of '-1' to this file resets the value to the default

Documentation/ABI/testing/sysfs-devices-system-cpu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,7 @@ What: /sys/devices/system/cpu/vulnerabilities
586586
/sys/devices/system/cpu/vulnerabilities/srbds
587587
/sys/devices/system/cpu/vulnerabilities/tsa
588588
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
589+
/sys/devices/system/cpu/vulnerabilities/vmscape
589590
Date: January 2018
590591
Contact: Linux kernel mailing list <[email protected]>
591592
Description: Information about CPU vulnerabilities

Documentation/admin-guide/blockdev/zoned_loop.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ zone_capacity_mb Device zone capacity (must always be equal to or lower than
7979
the zone size. Default: zone size.
8080
conv_zones Total number of conventioanl zones starting from sector 0.
8181
Default: 8.
82-
base_dir Path to the base directoy where to create the directory
82+
base_dir Path to the base directory where to create the directory
8383
containing the zone files of the device.
8484
Default=/var/local/zloop.
8585
The device directory containing the zone files is always

Documentation/admin-guide/cgroup-v2.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -435,8 +435,8 @@ both cgroups.
435435
Controlling Controllers
436436
-----------------------
437437

438-
Availablity
439-
~~~~~~~~~~~
438+
Availability
439+
~~~~~~~~~~~~
440440

441441
A controller is available in a cgroup when it is supported by the kernel (i.e.,
442442
compiled in, not disabled and not attached to a v1 hierarchy) and listed in the

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@ Spectre_v1 X
214214
Spectre_v2 X X
215215
Spectre_v2_user X X * (Note 1)
216216
SRBDS X X X X
217-
SRSO X X
218-
SSB (Note 4)
217+
SRSO X X X X
218+
SSB X
219219
TAA X X X X * (Note 2)
220220
TSA X X X X
221221
=============== ============== ============ ============= ============== ============ ========
@@ -229,9 +229,6 @@ Notes:
229229
3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is
230230
vulnerable, and STIBP is not supported
231231

232-
4 -- Speculative store bypass is always enabled by default (no kernel
233-
mitigation applied) unless overridden with spec_store_bypass_disable option
234-
235232
When an attack-vector is disabled, all mitigations for the vulnerabilities
236233
listed in the above table are disabled, unless mitigation is required for a
237234
different enabled attack-vector or a mitigation is explicitly selected via a

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ are configurable at compile, boot or run time.
2626
rsb
2727
old_microcode
2828
indirect-target-selection
29+
vmscape
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
VMSCAPE
4+
=======
5+
6+
VMSCAPE is a vulnerability that may allow a guest to influence the branch
7+
prediction in host userspace. It particularly affects hypervisors like QEMU.
8+
9+
Even if a hypervisor may not have any sensitive data like disk encryption keys,
10+
guest-userspace may be able to attack the guest-kernel using the hypervisor as
11+
a confused deputy.
12+
13+
Affected processors
14+
-------------------
15+
16+
The following CPU families are affected by VMSCAPE:
17+
18+
**Intel processors:**
19+
- Skylake generation (Parts without Enhanced-IBRS)
20+
- Cascade Lake generation - (Parts affected by ITS guest/host separation)
21+
- Alder Lake and newer (Parts affected by BHI)
22+
23+
Note that, BHI affected parts that use BHB clearing software mitigation e.g.
24+
Icelake are not vulnerable to VMSCAPE.
25+
26+
**AMD processors:**
27+
- Zen series (families 0x17, 0x19, 0x1a)
28+
29+
** Hygon processors:**
30+
- Family 0x18
31+
32+
Mitigation
33+
----------
34+
35+
Conditional IBPB
36+
----------------
37+
38+
Kernel tracks when a CPU has run a potentially malicious guest and issues an
39+
IBPB before the first exit to userspace after VM-exit. If userspace did not run
40+
between VM-exit and the next VM-entry, no IBPB is issued.
41+
42+
Note that the existing userspace mitigation against Spectre-v2 is effective in
43+
protecting the userspace. They are insufficient to protect the userspace VMMs
44+
from a malicious guest. This is because Spectre-v2 mitigations are applied at
45+
context switch time, while the userspace VMM can run after a VM-exit without a
46+
context switch.
47+
48+
Vulnerability enumeration and mitigation is not applied inside a guest. This is
49+
because nested hypervisors should already be deploying IBPB to isolate
50+
themselves from nested guests.
51+
52+
SMT considerations
53+
------------------
54+
55+
When Simultaneous Multi-Threading (SMT) is enabled, hypervisors can be
56+
vulnerable to cross-thread attacks. For complete protection against VMSCAPE
57+
attacks in SMT environments, STIBP should be enabled.
58+
59+
The kernel will issue a warning if SMT is enabled without adequate STIBP
60+
protection. Warning is not issued when:
61+
62+
- SMT is disabled
63+
- STIBP is enabled system-wide
64+
- Intel eIBRS is enabled (which implies STIBP protection)
65+
66+
System information and options
67+
------------------------------
68+
69+
The sysfs file showing VMSCAPE mitigation status is:
70+
71+
/sys/devices/system/cpu/vulnerabilities/vmscape
72+
73+
The possible values in this file are:
74+
75+
* 'Not affected':
76+
77+
The processor is not vulnerable to VMSCAPE attacks.
78+
79+
* 'Vulnerable':
80+
81+
The processor is vulnerable and no mitigation has been applied.
82+
83+
* 'Mitigation: IBPB before exit to userspace':
84+
85+
Conditional IBPB mitigation is enabled. The kernel tracks when a CPU has
86+
run a potentially malicious guest and issues an IBPB before the first
87+
exit to userspace after VM-exit.
88+
89+
* 'Mitigation: IBPB on VMEXIT':
90+
91+
IBPB is issued on every VM-exit. This occurs when other mitigations like
92+
RETBLEED or SRSO are already issuing IBPB on VM-exit.
93+
94+
Mitigation control on the kernel command line
95+
----------------------------------------------
96+
97+
The mitigation can be controlled via the ``vmscape=`` command line parameter:
98+
99+
* ``vmscape=off``:
100+
101+
Disable the VMSCAPE mitigation.
102+
103+
* ``vmscape=ibpb``:
104+
105+
Enable conditional IBPB mitigation (default when CONFIG_MITIGATION_VMSCAPE=y).
106+
107+
* ``vmscape=force``:
108+
109+
Force vulnerability detection and mitigation even on processors that are
110+
not known to be affected.

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3829,6 +3829,7 @@
38293829
srbds=off [X86,INTEL]
38303830
ssbd=force-off [ARM64]
38313831
tsx_async_abort=off [X86]
3832+
vmscape=off [X86]
38323833

38333834
Exceptions:
38343835
This does not have any effect on
@@ -8041,6 +8042,16 @@
80418042
vmpoff= [KNL,S390] Perform z/VM CP command after power off.
80428043
Format: <command>
80438044

8045+
vmscape= [X86] Controls mitigation for VMscape attacks.
8046+
VMscape attacks can leak information from a userspace
8047+
hypervisor to a guest via speculative side-channels.
8048+
8049+
off - disable the mitigation
8050+
ibpb - use Indirect Branch Prediction Barrier
8051+
(IBPB) mitigation (default)
8052+
force - force vulnerability detection even on
8053+
unaffected processors
8054+
80448055
vsyscall= [X86-64,EARLY]
80458056
Controls the behavior of vsyscalls (i.e. calls to
80468057
fixed addresses of 0xffffffffff600x00 from legacy

0 commit comments

Comments
 (0)