Skip to content

Commit fdebffe

Browse files
committed
BackMerge tag 'v6.5-rc7' into drm-next
Linux 6.5-rc7 This is needed for the CI stuff and the msm pull has fixes in it. Signed-off-by: Dave Airlie <airlied@redhat.com>
2 parents cacaeb2 + 706a741 commit fdebffe

File tree

1,388 files changed

+13981
-7399
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,388 files changed

+13981
-7399
lines changed

.mailmap

Lines changed: 101 additions & 1 deletion
Large diffs are not rendered by default.

Documentation/ABI/testing/sysfs-bus-cxl

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,12 @@ Description:
8282
whether it resides in persistent capacity, volatile capacity,
8383
or the LSA, is made permanently unavailable by whatever means
8484
is appropriate for the media type. This functionality requires
85-
the device to be not be actively decoding any HPA ranges.
85+
the device to be disabled, that is, not actively decoding any
86+
HPA ranges. This permits avoiding explicit global CPU cache
87+
management, relying instead for it to be done when a region
88+
transitions between software programmed and hardware committed
89+
states. If this file is not present, then there is no hardware
90+
support for the operation.
8691

8792

8893
What /sys/bus/cxl/devices/memX/security/erase
@@ -92,7 +97,13 @@ Contact: linux-cxl@vger.kernel.org
9297
Description:
9398
(WO) Write a boolean 'true' string value to this attribute to
9499
secure erase user data by changing the media encryption keys for
95-
all user data areas of the device.
100+
all user data areas of the device. This functionality requires
101+
the device to be disabled, that is, not actively decoding any
102+
HPA ranges. This permits avoiding explicit global CPU cache
103+
management, relying instead for it to be done when a region
104+
transitions between software programmed and hardware committed
105+
states. If this file is not present, then there is no hardware
106+
support for the operation.
96107

97108

98109
What: /sys/bus/cxl/devices/memX/firmware/

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -513,17 +513,18 @@ Description: information about CPUs heterogeneity.
513513
cpu_capacity: capacity of cpuX.
514514

515515
What: /sys/devices/system/cpu/vulnerabilities
516+
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
517+
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
518+
/sys/devices/system/cpu/vulnerabilities/l1tf
519+
/sys/devices/system/cpu/vulnerabilities/mds
516520
/sys/devices/system/cpu/vulnerabilities/meltdown
521+
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
522+
/sys/devices/system/cpu/vulnerabilities/retbleed
523+
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
517524
/sys/devices/system/cpu/vulnerabilities/spectre_v1
518525
/sys/devices/system/cpu/vulnerabilities/spectre_v2
519-
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
520-
/sys/devices/system/cpu/vulnerabilities/l1tf
521-
/sys/devices/system/cpu/vulnerabilities/mds
522526
/sys/devices/system/cpu/vulnerabilities/srbds
523527
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
524-
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
525-
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
526-
/sys/devices/system/cpu/vulnerabilities/retbleed
527528
Date: January 2018
528529
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
529530
Description: Information about CPU vulnerabilities

Documentation/ABI/testing/sysfs-module

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,14 @@ Description: Module taint flags:
6060
C staging driver module
6161
E unsigned module
6262
== =====================
63+
64+
What: /sys/module/grant_table/parameters/free_per_iteration
65+
Date: July 2023
66+
KernelVersion: 6.5 but backported to all supported stable branches
67+
Contact: Xen developer discussion <xen-devel@lists.xenproject.org>
68+
Description: Read and write number of grant entries to attempt to free per iteration.
69+
70+
Note: Future versions of Xen and Linux may provide a better
71+
interface for controlling the rate of deferred grant reclaim
72+
or may not need it at all.
73+
Users: Qubes OS (https://www.qubes-os.org)

Documentation/ABI/testing/sysfs-platform-hidma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ What: /sys/devices/platform/hidma-*/chid
22
/sys/devices/platform/QCOM8061:*/chid
33
Date: Dec 2015
44
KernelVersion: 4.4
5-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
5+
Contact: "Sinan Kaya <okaya@kernel.org>"
66
Description:
77
Contains the ID of the channel within the HIDMA instance.
88
It is used to associate a given HIDMA channel with the

Documentation/ABI/testing/sysfs-platform-hidma-mgmt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ What: /sys/devices/platform/hidma-mgmt*/chanops/chan*/priority
22
/sys/devices/platform/QCOM8060:*/chanops/chan*/priority
33
Date: Nov 2015
44
KernelVersion: 4.4
5-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
5+
Contact: "Sinan Kaya <okaya@kernel.org>"
66
Description:
77
Contains either 0 or 1 and indicates if the DMA channel is a
88
low priority (0) or high priority (1) channel.
@@ -11,7 +11,7 @@ What: /sys/devices/platform/hidma-mgmt*/chanops/chan*/weight
1111
/sys/devices/platform/QCOM8060:*/chanops/chan*/weight
1212
Date: Nov 2015
1313
KernelVersion: 4.4
14-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
14+
Contact: "Sinan Kaya <okaya@kernel.org>"
1515
Description:
1616
Contains 0..15 and indicates the weight of the channel among
1717
equal priority channels during round robin scheduling.
@@ -20,7 +20,7 @@ What: /sys/devices/platform/hidma-mgmt*/chreset_timeout_cycles
2020
/sys/devices/platform/QCOM8060:*/chreset_timeout_cycles
2121
Date: Nov 2015
2222
KernelVersion: 4.4
23-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
23+
Contact: "Sinan Kaya <okaya@kernel.org>"
2424
Description:
2525
Contains the platform specific cycle value to wait after a
2626
reset command is issued. If the value is chosen too short,
@@ -32,7 +32,7 @@ What: /sys/devices/platform/hidma-mgmt*/dma_channels
3232
/sys/devices/platform/QCOM8060:*/dma_channels
3333
Date: Nov 2015
3434
KernelVersion: 4.4
35-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
35+
Contact: "Sinan Kaya <okaya@kernel.org>"
3636
Description:
3737
Contains the number of dma channels supported by one instance
3838
of HIDMA hardware. The value may change from chip to chip.
@@ -41,23 +41,23 @@ What: /sys/devices/platform/hidma-mgmt*/hw_version_major
4141
/sys/devices/platform/QCOM8060:*/hw_version_major
4242
Date: Nov 2015
4343
KernelVersion: 4.4
44-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
44+
Contact: "Sinan Kaya <okaya@kernel.org>"
4545
Description:
4646
Version number major for the hardware.
4747

4848
What: /sys/devices/platform/hidma-mgmt*/hw_version_minor
4949
/sys/devices/platform/QCOM8060:*/hw_version_minor
5050
Date: Nov 2015
5151
KernelVersion: 4.4
52-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
52+
Contact: "Sinan Kaya <okaya@kernel.org>"
5353
Description:
5454
Version number minor for the hardware.
5555

5656
What: /sys/devices/platform/hidma-mgmt*/max_rd_xactions
5757
/sys/devices/platform/QCOM8060:*/max_rd_xactions
5858
Date: Nov 2015
5959
KernelVersion: 4.4
60-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
60+
Contact: "Sinan Kaya <okaya@kernel.org>"
6161
Description:
6262
Contains a value between 0 and 31. Maximum number of
6363
read transactions that can be issued back to back.
@@ -69,7 +69,7 @@ What: /sys/devices/platform/hidma-mgmt*/max_read_request
6969
/sys/devices/platform/QCOM8060:*/max_read_request
7070
Date: Nov 2015
7171
KernelVersion: 4.4
72-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
72+
Contact: "Sinan Kaya <okaya@kernel.org>"
7373
Description:
7474
Size of each read request. The value needs to be a power
7575
of two and can be between 128 and 1024.
@@ -78,7 +78,7 @@ What: /sys/devices/platform/hidma-mgmt*/max_wr_xactions
7878
/sys/devices/platform/QCOM8060:*/max_wr_xactions
7979
Date: Nov 2015
8080
KernelVersion: 4.4
81-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
81+
Contact: "Sinan Kaya <okaya@kernel.org>"
8282
Description:
8383
Contains a value between 0 and 31. Maximum number of
8484
write transactions that can be issued back to back.
@@ -91,7 +91,7 @@ What: /sys/devices/platform/hidma-mgmt*/max_write_request
9191
/sys/devices/platform/QCOM8060:*/max_write_request
9292
Date: Nov 2015
9393
KernelVersion: 4.4
94-
Contact: "Sinan Kaya <okaya@codeaurora.org>"
94+
Contact: "Sinan Kaya <okaya@kernel.org>"
9595
Description:
9696
Size of each write request. The value needs to be a power
9797
of two and can be between 128 and 1024.

Documentation/admin-guide/devices.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2691,7 +2691,7 @@
26912691
45 = /dev/ttyMM1 Marvell MPSC - port 1 (obsolete unused)
26922692
46 = /dev/ttyCPM0 PPC CPM (SCC or SMC) - port 0
26932693
...
2694-
47 = /dev/ttyCPM5 PPC CPM (SCC or SMC) - port 5
2694+
49 = /dev/ttyCPM5 PPC CPM (SCC or SMC) - port 3
26952695
50 = /dev/ttyIOC0 Altix serial card
26962696
...
26972697
81 = /dev/ttyIOC31 Altix serial card
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
GDS - Gather Data Sampling
4+
==========================
5+
6+
Gather Data Sampling is a hardware vulnerability which allows unprivileged
7+
speculative access to data which was previously stored in vector registers.
8+
9+
Problem
10+
-------
11+
When a gather instruction performs loads from memory, different data elements
12+
are merged into the destination vector register. However, when a gather
13+
instruction that is transiently executed encounters a fault, stale data from
14+
architectural or internal vector registers may get transiently forwarded to the
15+
destination vector register instead. This will allow a malicious attacker to
16+
infer stale data using typical side channel techniques like cache timing
17+
attacks. GDS is a purely sampling-based attack.
18+
19+
The attacker uses gather instructions to infer the stale vector register data.
20+
The victim does not need to do anything special other than use the vector
21+
registers. The victim does not need to use gather instructions to be
22+
vulnerable.
23+
24+
Because the buffers are shared between Hyper-Threads cross Hyper-Thread attacks
25+
are possible.
26+
27+
Attack scenarios
28+
----------------
29+
Without mitigation, GDS can infer stale data across virtually all
30+
permission boundaries:
31+
32+
Non-enclaves can infer SGX enclave data
33+
Userspace can infer kernel data
34+
Guests can infer data from hosts
35+
Guest can infer guest from other guests
36+
Users can infer data from other users
37+
38+
Because of this, it is important to ensure that the mitigation stays enabled in
39+
lower-privilege contexts like guests and when running outside SGX enclaves.
40+
41+
The hardware enforces the mitigation for SGX. Likewise, VMMs should ensure
42+
that guests are not allowed to disable the GDS mitigation. If a host erred and
43+
allowed this, a guest could theoretically disable GDS mitigation, mount an
44+
attack, and re-enable it.
45+
46+
Mitigation mechanism
47+
--------------------
48+
This issue is mitigated in microcode. The microcode defines the following new
49+
bits:
50+
51+
================================ === ============================
52+
IA32_ARCH_CAPABILITIES[GDS_CTRL] R/O Enumerates GDS vulnerability
53+
and mitigation support.
54+
IA32_ARCH_CAPABILITIES[GDS_NO] R/O Processor is not vulnerable.
55+
IA32_MCU_OPT_CTRL[GDS_MITG_DIS] R/W Disables the mitigation
56+
0 by default.
57+
IA32_MCU_OPT_CTRL[GDS_MITG_LOCK] R/W Locks GDS_MITG_DIS=0. Writes
58+
to GDS_MITG_DIS are ignored
59+
Can't be cleared once set.
60+
================================ === ============================
61+
62+
GDS can also be mitigated on systems that don't have updated microcode by
63+
disabling AVX. This can be done by setting gather_data_sampling="force" or
64+
"clearcpuid=avx" on the kernel command-line.
65+
66+
If used, these options will disable AVX use by turning off XSAVE YMM support.
67+
However, the processor will still enumerate AVX support. Userspace that
68+
does not follow proper AVX enumeration to check both AVX *and* XSAVE YMM
69+
support will break.
70+
71+
Mitigation control on the kernel command line
72+
---------------------------------------------
73+
The mitigation can be disabled by setting "gather_data_sampling=off" or
74+
"mitigations=off" on the kernel command line. Not specifying either will default
75+
to the mitigation being enabled. Specifying "gather_data_sampling=force" will
76+
use the microcode mitigation when available or disable AVX on affected systems
77+
where the microcode hasn't been updated to include the mitigation.
78+
79+
GDS System Information
80+
------------------------
81+
The kernel provides vulnerability status information through sysfs. For
82+
GDS this can be accessed by the following sysfs file:
83+
84+
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
85+
86+
The possible values contained in this file are:
87+
88+
============================== =============================================
89+
Not affected Processor not vulnerable.
90+
Vulnerable Processor vulnerable and mitigation disabled.
91+
Vulnerable: No microcode Processor vulnerable and microcode is missing
92+
mitigation.
93+
Mitigation: AVX disabled,
94+
no microcode Processor is vulnerable and microcode is missing
95+
mitigation. AVX disabled as mitigation.
96+
Mitigation: Microcode Processor is vulnerable and mitigation is in
97+
effect.
98+
Mitigation: Microcode (locked) Processor is vulnerable and mitigation is in
99+
effect and cannot be disabled.
100+
Unknown: Dependent on
101+
hypervisor status Running on a virtual guest processor that is
102+
affected but with no way to know if host
103+
processor is mitigated or vulnerable.
104+
============================== =============================================
105+
106+
GDS Default mitigation
107+
----------------------
108+
The updated microcode will enable the mitigation by default. The kernel's
109+
default action is to leave the mitigation enabled.

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ are configurable at compile, boot or run time.
1313
l1tf
1414
mds
1515
tsx_async_abort
16-
multihit.rst
17-
special-register-buffer-data-sampling.rst
18-
core-scheduling.rst
19-
l1d_flush.rst
20-
processor_mmio_stale_data.rst
21-
cross-thread-rsb.rst
16+
multihit
17+
special-register-buffer-data-sampling
18+
core-scheduling
19+
l1d_flush
20+
processor_mmio_stale_data
21+
cross-thread-rsb
22+
srso
23+
gather_data_sampling

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -484,11 +484,14 @@ Spectre variant 2
484484

485485
Systems which support enhanced IBRS (eIBRS) enable IBRS protection once at
486486
boot, by setting the IBRS bit, and they're automatically protected against
487-
Spectre v2 variant attacks, including cross-thread branch target injections
488-
on SMT systems (STIBP). In other words, eIBRS enables STIBP too.
487+
Spectre v2 variant attacks.
489488

490-
Legacy IBRS systems clear the IBRS bit on exit to userspace and
491-
therefore explicitly enable STIBP for that
489+
On Intel's enhanced IBRS systems, this includes cross-thread branch target
490+
injections on SMT systems (STIBP). In other words, Intel eIBRS enables
491+
STIBP, too.
492+
493+
AMD Automatic IBRS does not protect userspace, and Legacy IBRS systems clear
494+
the IBRS bit on exit to userspace, therefore both explicitly enable STIBP.
492495

493496
The retpoline mitigation is turned on by default on vulnerable
494497
CPUs. It can be forced on or off by the administrator

0 commit comments

Comments
 (0)