Skip to content

Commit 60b4a1e

Browse files
authored
Merge branch 'rpi-6.12.y' into devel/add-ds2430
2 parents 0749265 + 918087f commit 60b4a1e

File tree

206 files changed

+2297
-1051
lines changed

Some content is hidden

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

206 files changed

+2297
-1051
lines changed

.github/workflows/kernel-build.yml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env:
1616

1717
jobs:
1818
build:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-24.04-arm
2020
strategy:
2121
matrix:
2222
include:
@@ -56,17 +56,13 @@ jobs:
5656
kernel: kernel_2712
5757

5858
steps:
59-
- name: Update install
60-
run:
59+
- name: Install armhf crossbuild toolchain
60+
if: matrix.arch == 'arm'
61+
env:
62+
DEBIAN_FRONTEND: noninteractive
63+
run: |
6164
sudo apt-get update
62-
63-
- name: Install toolchain
64-
run:
65-
if [[ "${{matrix.arch}}" == "arm64" ]]; then
66-
sudo apt-get install gcc-aarch64-linux-gnu;
67-
else
68-
sudo apt-get install gcc-arm-linux-gnueabihf;
69-
fi
65+
sudo apt-get install -y gcc-arm-linux-gnueabihf
7066
timeout-minutes: 15
7167

7268
- uses: actions/checkout@v4
@@ -79,7 +75,6 @@ jobs:
7975
mkdir ${{github.workspace}}/build
8076
export ARCH=${{matrix.arch}}
8177
if [[ "$ARCH" == "arm64" ]]; then
82-
export CROSS_COMPILE=aarch64-linux-gnu-
8378
export DTS_SUBDIR=broadcom
8479
export IMAGE=Image.gz
8580
else

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,7 @@ What: /sys/devices/system/cpu/vulnerabilities
525525
/sys/devices/system/cpu/vulnerabilities/srbds
526526
/sys/devices/system/cpu/vulnerabilities/tsa
527527
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
528+
/sys/devices/system/cpu/vulnerabilities/vmscape
528529
Date: January 2018
529530
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
530531
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
gather_data_sampling
2424
reg-file-data-sampling
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
@@ -3548,6 +3548,7 @@
35483548
srbds=off [X86,INTEL]
35493549
ssbd=force-off [ARM64]
35503550
tsx_async_abort=off [X86]
3551+
vmscape=off [X86]
35513552

35523553
Exceptions:
35533554
This does not have any effect on
@@ -7425,6 +7426,16 @@
74257426
vmpoff= [KNL,S390] Perform z/VM CP command after power off.
74267427
Format: <command>
74277428

7429+
vmscape= [X86] Controls mitigation for VMscape attacks.
7430+
VMscape attacks can leak information from a userspace
7431+
hypervisor to a guest via speculative side-channels.
7432+
7433+
off - disable the mitigation
7434+
ibpb - use Indirect Branch Prediction Barrier
7435+
(IBPB) mitigation (default)
7436+
force - force vulnerability detection even on
7437+
unaffected processors
7438+
74287439
vsyscall= [X86-64,EARLY]
74297440
Controls the behavior of vsyscalls (i.e. calls to
74307441
fixed addresses of 0xffffffffff600x00 from legacy

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 12
4-
SUBLEVEL = 45
4+
SUBLEVEL = 47
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

arch/arm/boot/dts/overlays/pcie-32bit-dma-pi5-overlay.dts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,21 @@
1919
#address-cells = <3>;
2020
#size-cells = <2>;
2121
dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
22-
0x0 0x80000000>;
22+
0x0 0x80000000>,
23+
<0x02000000 0x00 0xfffff000 0x10 0x00131000
24+
0x00 0x00001000>;
2325
};
2426
};
2527

28+
fragment@1 {
29+
target = <&mip1>;
30+
__overlay__ {
31+
/*
32+
* The MIP driver uses the reg property to derive the target
33+
* address for MSI writes - place this below 4GB.
34+
*/
35+
reg = <0x10 0x00131000 0x00 0xc0>,
36+
<0x00 0xfffff000 0x00 0x1000>;
37+
};
38+
};
2639
};

arch/arm/boot/dts/overlays/rpi-power-hat-b-overlay.dts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
compatible = "brcm,bcm2835";
1010

1111
fragment@0 {
12-
target = <&i2c1>;
12+
target = <&i2c_arm>;
1313
__overlay__ {
1414

1515
#address-cells = <1>;
1616
#size-cells = <0>;
17+
status = "okay";
1718

1819
power_control: fxl6408@43 {
1920
reg = <0x43>;

arch/arm/boot/dts/overlays/rpi-power-hat-t-overlay.dts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
compatible = "brcm,bcm2835";
1010

1111
fragment@0 {
12-
target = <&i2c1>;
12+
target = <&i2c_arm>;
1313
__overlay__ {
1414

1515
#address-cells = <1>;
1616
#size-cells = <0>;
17+
status = "okay";
1718

1819
power_control: fxl6408@44 {
1920
reg = <0x44>;

arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,7 @@
555555
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
556556
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
557557
vmmc-supply = <&reg_usdhc2_vmmc>;
558+
vqmmc-supply = <&ldo5>;
558559
bus-width = <4>;
559560
status = "okay";
560561
};

0 commit comments

Comments
 (0)