Description
In the Linux kernel, the following vulnerability has been resolved:
MIPS: Work around LLVM bug when gp is used as global register variable
On MIPS, __current_thread_info is defined as global register variable
locating in $gp, and is simply assigned with new address during kernel
relocation.
This however is broken with LLVM, which always restores $gp if it finds
$gp is clobbered in any form, including when intentionally through a
global register variable. This is against GCC's documentation[1], which
requires a callee-saved register used as global register variable not to
be restored if it's clobbered.
As a result, $gp will continue to point to the unrelocated kernel after
the epilog of relocate_kernel(), leading to an early crash in init_idle,
[ 0.000000] CPU 0 Unable to handle kernel paging request at virtual address 0000000000000000, epc == ffffffff81afada8, ra == ffffffff81afad90
[ 0.000000] Oops[#1]:
[ 0.000000] CPU: 0 UID: 0 PID: 0 Comm: swapper Tainted: G W 6.19.0-rc5-00262-gd3eeb99bbc99-dirty #188 VOLUNTARY
[ 0.000000] Tainted: [W]=WARN
[ 0.000000] Hardware name: loongson,loongson64v-4core-virtio
[ 0.000000] $ 0 : 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[ 0.000000] $ 4 : ffffffff80b80ec0 ffffffff80b53d48 0000000000000000 00000000000f4240
[ 0.000000] $ 8 : 0000000000000100 ffffffff81d82f80 ffffffff81d82f80 0000000000000001
[ 0.000000] $12 : 0000000000000000 ffffffff81776f58 00000000000005da 0000000000000002
[ 0.000000] $16 : ffffffff80b80e40 0000000000000000 ffffffff80b81614 9800000005dfbe80
[ 0.000000] $20 : 00000000540000e0 ffffffff81980000 0000000000000000 ffffffff80f81c80
[ 0.000000] $24 : 0000000000000a26 ffffffff8114fb90
[ 0.000000] $28 : ffffffff80b50000 ffffffff80b53d40 0000000000000000 ffffffff81afad90
[ 0.000000] Hi : 0000000000000000
[ 0.000000] Lo : 0000000000000000
[ 0.000000] epc : ffffffff81afada8 init_idle+0x130/0x270
[ 0.000000] ra : ffffffff81afad90 init_idle+0x118/0x270
[ 0.000000] Status: 540000e2 KX SX UX KERNEL EXL
[ 0.000000] Cause : 00000008 (ExcCode 02)
[ 0.000000] BadVA : 0000000000000000
[ 0.000000] PrId : 00006305 (ICT Loongson-3)
[ 0.000000] Process swapper (pid: 0, threadinfo=(____ptrval____), task=(____ptrval____), tls=0000000000000000)
[ 0.000000] Stack : 9800000005dfbf00 ffffffff8178e950 0000000000000000 0000000000000000
[ 0.000000] 0000000000000000 ffffffff81970000 000000000000003f ffffffff810a6528
[ 0.000000] 0000000000000001 9800000005dfbe80 9800000005dfbf00 ffffffff81980000
[ 0.000000] ffffffff810a6450 ffffffff81afb6c0 0000000000000000 ffffffff810a2258
[ 0.000000] ffffffff81d82ec8 ffffffff8198d010 ffffffff81b67e80 ffffffff8197dd98
[ 0.000000] ffffffff81d81c80 ffffffff81930000 0000000000000040 0000000000000000
[ 0.000000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] 0000000000000000 000000000000009e ffffffff9fc01000 0000000000000000
[ 0.000000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] 0000000000000000 ffffffff81ae86dc ffffffff81b3c741 0000000000000002
[ 0.000000] ...
[ 0.000000] Call Trace:
[ 0.000000] [<ffffffff81afada8>] init_idle+0x130/0x270
[ 0.000000] [<ffffffff81afb6c0>] sched_init+0x5c8/0x6c0
[ 0.000000] [<ffffffff81ae86dc>] start_kernel+0x27c/0x7a8
This bug has been reported to LLVM[2] and affects version from (at
least) 18 to 21. Let's work around this by using inline assembly to
assign $gp before a fix is widely available.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 4.7 | 5.10.252 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.18.14-1 | — |
| Debian 13 | linux | 6.12.85-1 | — |
| Debian 12 | linux | 6.1.170-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1026.30 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1096.98 | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-134.134 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1060.63 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1063.71 | USN-8606-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1062.69 | USN-8607-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1063.69 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1058.64 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1045.48 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1060.61 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-134.134.1 | USN-8497-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1058.61 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1058.61.1 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1029.30 | USN-8498-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1057.58 | USN-8492-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1060.64 | USN-8492-4 |
| Ubuntu 24.04 LTS | linux-riscv +26 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1032.33 | USN-8499-1 |
| Ubuntu 22.04 LTS | linux | 5.15.0-186.196 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1112.119 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1060.63~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-azure +1 | 5.15.0-1117.126 | USN-8610-1, USN-8575-3 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1063.71~22.04.1 | USN-8606-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1062.69~22.04.1 | USN-8609-1 |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1112.122 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1063.69~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1108.114 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1095.103 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-136.136~22.04.1 | USN-8619-1 |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1106.110 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1060.61~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1107.113 | USN-8620-4 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1104.109 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-184.194 | USN-8575-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-134.134.1~22.04.1 | USN-8497-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1107.108 | USN-8575-2 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1058.61~22.04.1 | USN-8492-1 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1064.66 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1053.53 | USN-8576-2 |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1109.115 | USN-8575-3 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1057.58~22.04.1 | USN-8492-2 |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1106.109 | USN-8668-2 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-134.134~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1075.79 | USN-8575-1 |
Show 16 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2049.50 | USN-8492-3 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1055.56 | USN-8492-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1104.106 | USN-8620-3 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1111.120 | USN-8575-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1055.56~22.04.1 | USN-8492-1 |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1060.63+fips1 | USN-8492-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1062.69+fips1 | USN-8492-5 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-134.134+fips1 | USN-8492-5 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1063.69+fips1 | USN-8492-1 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1112.119+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1117.126+fips1 | USN-8620-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-186.196+fips1 | USN-8575-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1112.122+fips1 | USN-8575-1 |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +10 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 | 5.15.0-1112.119~20.04.1 | USN-8575-2 |
| Ubuntu Pro 20.04 LTS | linux-azure-5.15 | 5.15.0-1117.126~20.04.1 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-azure-fde-5.15 | 5.15.0-1117.126~20.04.2 | USN-8620-1 |
| Ubuntu Pro 20.04 LTS | linux-gcp-5.15 | 5.15.0-1112.122~20.04.1 | USN-8668-1 |
| Ubuntu Pro 20.04 LTS | linux-hwe-5.15 | 5.15.0-186.196~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-ibm-5.15 +1 | 5.15.0-1106.110~20.04.1 | — |
| Ubuntu Pro 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1107.113~20.04.1 | USN-8620-3 |
| Ubuntu Pro 20.04 LTS | linux-lowlatency-hwe-5.15 | 5.15.0-184.194~20.04.1 | USN-8575-1 |
| Ubuntu Pro 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1064.66~20.04.1 | USN-8576-1 |
| Ubuntu Pro 20.04 LTS | linux-oracle-5.15 | 5.15.0-1109.115~20.04.1 | USN-8620-1 |
| Ubuntu Pro 18.04 LTS | linux +12 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux-gcp +4 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux-azure | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.139.1-1 | — |
Advisories 25
- USN-8607-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 13, 2026
- WID-SEC-2026-1802 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8575-1 linux, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-hwe-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-realtime, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-2 linux-aws, linux-aws-5.15, linux-aws-fips, linux-fips, linux-ibm, linux-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-1 linux-azure-5.15, linux-azure-fde-5.15, linux-oracle-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-3 linux-intel-iot-realtime, linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8610-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8575-3 linux-azure, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8668-1 linux-gcp-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-1 linux-nvidia-tegra-5.15 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8576-2 linux-nvidia-tegra, linux-nvidia-tegra-igx vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-4 linux-intel-iotg vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8620-2 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8606-1 linux-azure, linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8619-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8609-1 linux-azure-fde-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8499-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8497-1 linux-lowlatency, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8492-1 linux, linux-aws, linux-aws-fips, linux-gcp, linux-gcp-fips, linux-ibm, linux-nvidia, linux-nvidia-6.8, linux-oracle, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-2 linux-aws-6.8, linux-gcp-6.8, linux-gke, linux-gkeop, linux-ibm-6.8, linux-nvidia-lowlatency, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8498-1 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-3 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-5 linux-azure-fips, linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8492-4 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
References
- https://git.kernel.org/stable/c/05bff9b0ae095b2420cfebb4a96759a09334bec6
- https://git.kernel.org/stable/c/1fe3b402b1e97a1718df3be0a1d3eee20133e735
- https://git.kernel.org/stable/c/4dc65b40fb80c2020efbf139b9a38d30f9a37b92
- https://git.kernel.org/stable/c/c0155dee51b9f5f48aaf5c71cae005eb0e36521f
- https://git.kernel.org/stable/c/e3a6498a63394218561065a9a7a597a204f52f6a
- https://git.kernel.org/stable/c/561834f6d6f52b8a1791331e94b2aac753491d2a
- https://git.kernel.org/stable/c/9bc3b0ae5203aba650297fdf3e1e774125e423f2
- https://git.kernel.org/stable/c/30bfc2d6a1132a89a5f1c3b96c59cf3e4d076ea3