Skip to content

Commit 05ce7a9

Browse files
committed
Merge remote-tracking branch 'opensuse-kernel/SLE15-SP6' into SLE15-SP6-LKL
2 parents efd0ae3 + 9a6c57d commit 05ce7a9

1,007 files changed

Lines changed: 12496 additions & 5922 deletions

File tree

Some content is hidden

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

Documentation/ABI/testing/sysfs-bus-pci-drivers-xhci_hcd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,13 @@ Description:
7575
The default value is 1 (GNU Remote Debug command).
7676
Other permissible value is 0 which is for vendor defined debug
7777
target.
78+
79+
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_poll_interval_ms
80+
Date: February 2024
81+
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
82+
Description:
83+
This attribute adjust the polling interval used to check for
84+
DbC events. Unit is milliseconds. Accepted values range from 0
85+
up to 5000. The default value is 64 ms.
86+
This polling interval is used while DbC is enabled but has no
87+
active data transfers.

Documentation/ABI/testing/sysfs-class-net-queues

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
What: /sys/class/<iface>/queues/rx-<queue>/rps_cpus
1+
What: /sys/class/net/<iface>/queues/rx-<queue>/rps_cpus
22
Date: March 2010
33
KernelVersion: 2.6.35
44
Contact: netdev@vger.kernel.org
@@ -8,31 +8,31 @@ Description:
88
network device queue. Possible values depend on the number
99
of available CPU(s) in the system.
1010

11-
What: /sys/class/<iface>/queues/rx-<queue>/rps_flow_cnt
11+
What: /sys/class/net/<iface>/queues/rx-<queue>/rps_flow_cnt
1212
Date: April 2010
1313
KernelVersion: 2.6.35
1414
Contact: netdev@vger.kernel.org
1515
Description:
1616
Number of Receive Packet Steering flows being currently
1717
processed by this particular network device receive queue.
1818

19-
What: /sys/class/<iface>/queues/tx-<queue>/tx_timeout
19+
What: /sys/class/net/<iface>/queues/tx-<queue>/tx_timeout
2020
Date: November 2011
2121
KernelVersion: 3.3
2222
Contact: netdev@vger.kernel.org
2323
Description:
2424
Indicates the number of transmit timeout events seen by this
2525
network interface transmit queue.
2626

27-
What: /sys/class/<iface>/queues/tx-<queue>/tx_maxrate
27+
What: /sys/class/net/<iface>/queues/tx-<queue>/tx_maxrate
2828
Date: March 2015
2929
KernelVersion: 4.1
3030
Contact: netdev@vger.kernel.org
3131
Description:
3232
A Mbps max-rate set for the queue, a value of zero means disabled,
3333
default is disabled.
3434

35-
What: /sys/class/<iface>/queues/tx-<queue>/xps_cpus
35+
What: /sys/class/net/<iface>/queues/tx-<queue>/xps_cpus
3636
Date: November 2010
3737
KernelVersion: 2.6.38
3838
Contact: netdev@vger.kernel.org
@@ -42,7 +42,7 @@ Description:
4242
network device transmit queue. Possible vaules depend on the
4343
number of available CPU(s) in the system.
4444

45-
What: /sys/class/<iface>/queues/tx-<queue>/xps_rxqs
45+
What: /sys/class/net/<iface>/queues/tx-<queue>/xps_rxqs
4646
Date: June 2018
4747
KernelVersion: 4.18.0
4848
Contact: netdev@vger.kernel.org
@@ -53,7 +53,7 @@ Description:
5353
number of available receive queue(s) in the network device.
5454
Default is disabled.
5555

56-
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
56+
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
5757
Date: November 2011
5858
KernelVersion: 3.3
5959
Contact: netdev@vger.kernel.org
@@ -62,15 +62,15 @@ Description:
6262
of this particular network device transmit queue.
6363
Default value is 1000.
6464

65-
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
65+
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/inflight
6666
Date: November 2011
6767
KernelVersion: 3.3
6868
Contact: netdev@vger.kernel.org
6969
Description:
7070
Indicates the number of bytes (objects) in flight on this
7171
network device transmit queue.
7272

73-
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit
73+
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit
7474
Date: November 2011
7575
KernelVersion: 3.3
7676
Contact: netdev@vger.kernel.org
@@ -79,7 +79,7 @@ Description:
7979
on this network device transmit queue. This value is clamped
8080
to be within the bounds defined by limit_max and limit_min.
8181

82-
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
82+
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_max
8383
Date: November 2011
8484
KernelVersion: 3.3
8585
Contact: netdev@vger.kernel.org
@@ -88,7 +88,7 @@ Description:
8888
queued on this network device transmit queue. See
8989
include/linux/dynamic_queue_limits.h for the default value.
9090

91-
What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
91+
What: /sys/class/net/<iface>/queues/tx-<queue>/byte_queue_limits/limit_min
9292
Date: November 2011
9393
KernelVersion: 3.3
9494
Contact: netdev@vger.kernel.org

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,7 @@ What: /sys/devices/system/cpu/vulnerabilities
528528
/sys/devices/system/cpu/vulnerabilities/srbds
529529
/sys/devices/system/cpu/vulnerabilities/tsa
530530
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
531+
/sys/devices/system/cpu/vulnerabilities/vmscape
531532
Date: January 2018
532533
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
533534
Description: Information about CPU vulnerabilities

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ are configurable at compile, boot or run time.
2323
reg-file-data-sampling
2424
rsb
2525
indirect-target-selection
26+
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
@@ -3447,6 +3447,7 @@
34473447
srbds=off [X86,INTEL]
34483448
ssbd=force-off [ARM64]
34493449
tsx_async_abort=off [X86]
3450+
vmscape=off [X86]
34503451

34513452
Exceptions:
34523453
This does not have any effect on
@@ -7088,6 +7089,16 @@
70887089
vmpoff= [KNL,S390] Perform z/VM CP command after power off.
70897090
Format: <command>
70907091

7092+
vmscape= [X86] Controls mitigation for VMscape attacks.
7093+
VMscape attacks can leak information from a userspace
7094+
hypervisor to a guest via speculative side-channels.
7095+
7096+
off - disable the mitigation
7097+
ibpb - use Indirect Branch Prediction Barrier
7098+
(IBPB) mitigation (default)
7099+
force - force vulnerability detection even on
7100+
unaffected processors
7101+
70917102
vsyscall= [X86-64]
70927103
Controls the behavior of vsyscalls (i.e. calls to
70937104
fixed addresses of 0xffffffffff600x00 from legacy

Documentation/admin-guide/sysctl/fs.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@ pipe-user-pages-soft
164164
--------------------
165165

166166
Maximum total number of pages a non-privileged user may allocate for pipes
167-
before the pipe size gets limited to a single page. Once this limit is reached,
168-
new pipes will be limited to a single page in size for this user in order to
167+
before the pipe size gets limited to two pages. Once this limit is reached,
168+
new pipes will be limited to two pages in size for this user in order to
169169
limit total memory usage, and trying to increase them using ``fcntl()`` will be
170170
denied until usage goes below the limit again. The default value allows to
171171
allocate up to 1024 pipes at their default size. When set to 0, no limit is

Documentation/arch/arm64/silicon-errata.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ stable kernels.
187187
+----------------+-----------------+-----------------+-----------------------------+
188188
| ARM | Neoverse-V3 | #3312417 | ARM64_ERRATUM_3194386 |
189189
+----------------+-----------------+-----------------+-----------------------------+
190+
| ARM | Neoverse-V3AE | #3312417 | ARM64_ERRATUM_3194386 |
191+
+----------------+-----------------+-----------------+-----------------------------+
190192
| ARM | MMU-500 | #841119,826419 | N/A |
191193
+----------------+-----------------+-----------------+-----------------------------+
192194
| ARM | MMU-600 | #1076982,1209401| N/A |

Documentation/bpf/map_hash.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,16 @@ attempts in order to enforce the LRU property which have increasing impacts on
233233
other CPUs involved in the following operation attempts:
234234

235235
- Attempt to use CPU-local state to batch operations
236-
- Attempt to fetch free nodes from global lists
236+
- Attempt to fetch ``target_free`` free nodes from global lists
237237
- Attempt to pull any node from a global list and remove it from the hashmap
238238
- Attempt to pull any node from any CPU's list and remove it from the hashmap
239239

240+
The number of nodes to borrow from the global list in a batch, ``target_free``,
241+
depends on the size of the map. Larger batch size reduces lock contention, but
242+
may also exhaust the global structure. The value is computed at map init to
243+
avoid exhaustion, by limiting aggregate reservation by all CPUs to half the map
244+
size. With a minimum of a single element and maximum budget of 128 at a time.
245+
240246
This algorithm is described visually in the following diagram. See the
241247
description in commit 3a08c2fd7634 ("bpf: LRU List") for a full explanation of
242248
the corresponding operations:

Documentation/bpf/map_lru_hash_update.dot

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,18 @@ digraph {
3535
fn_bpf_lru_list_pop_free_to_local [shape=rectangle,fillcolor=2,
3636
label="Flush local pending,
3737
Rotate Global list, move
38-
LOCAL_FREE_TARGET
38+
target_free
3939
from global -> local"]
4040
// Also corresponds to:
4141
// fn__local_list_flush()
4242
// fn_bpf_lru_list_rotate()
4343
fn___bpf_lru_node_move_to_free[shape=diamond,fillcolor=2,
44-
label="Able to free\nLOCAL_FREE_TARGET\nnodes?"]
44+
label="Able to free\ntarget_free\nnodes?"]
4545

4646
fn___bpf_lru_list_shrink_inactive [shape=rectangle,fillcolor=3,
4747
label="Shrink inactive list
4848
up to remaining
49-
LOCAL_FREE_TARGET
49+
target_free
5050
(global LRU -> local)"]
5151
fn___bpf_lru_list_shrink [shape=diamond,fillcolor=2,
5252
label="> 0 entries in\nlocal free list?"]

0 commit comments

Comments
 (0)