Linux: arm64/boot: Disable trapping of PMZR_EL0 writes to EL2
What fixes it
- 071f51188a5d8ec10535541255587976d12fc7d8LinuxCVE List
- 2bc6b218717b9d08f466f88209251d54bc09b207LinuxCVE List
- 6.12.112LinuxCVE List
- 6.15LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
arm64/boot: Disable trapping of PMZR_EL0 writes to EL2
__init_el2_fgt2() writes one mask to both HDFGRTR2_EL2 and HDFGWTR2_EL2. PMZR_EL0 is write-only, so its trap bit, nPMZR_EL0, exists only in HDFGWTR2_EL2 and is therefore never set: a PMZR_EL0 write from the host traps to EL2, where the nVHE hypervisor has no handler and BUG()s. The kernel never writes PMZR_EL0, but kernel.perf_user_access=1 has the PMU driver set PMUSERENR_EL0.UEN for a task with a user-read event, so a write from EL0 reaches the trap and takes the host down without a panic message.
Accumulate the HDFGWTR2_EL2 bits separately, as __init_el2_fgt() already does for HDFGWTR_EL2, and set nPMZR_EL0 with the other FEAT_PMUv3p9 bits.
Text from CVE List
Affected versions 13
- Linuxaffected: 686d8f7b592f3466f44aea653c8147611b351c83 before bb8c90c86441c090e9036f019cf1b4d7894a2c40CVE List
- Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before 071f51188a5d8ec10535541255587976d12fc7d8CVE List
- Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before ce71865bf43f88bed9d9218e9218e537150be506CVE List
- Linuxaffected: 858c7bfcb35e1100b58bb63c9f562d86e09418d9 before 2bc6b218717b9d08f466f88209251d54bc09b207CVE List
- Linuxaffected: 882f78400322c0aec4b641a7168adad9a66bc0c2CVE List
- Linuxaffected: 6.12.25 before 6.12.112CVE List
- Linuxaffected: 6.14.4 before 6.15CVE List
- Linuxaffected: 6.15CVE List
- Linuxunaffected: all versions before 6.15CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.55 through 6.18.*CVE List
- Linuxunaffected: 7.2.9 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/bb8c90c86441c090e9036f019cf1b4d7894a2c40Referencevia CVE List
- git.kernel.org/stable/c/071f51188a5d8ec10535541255587976d12fc7d8Referencevia CVE List
- git.kernel.org/stable/c/ce71865bf43f88bed9d9218e9218e537150be506Referencevia CVE List
- git.kernel.org/stable/c/2bc6b218717b9d08f466f88209251d54bc09b207Referencevia CVE List