Description
In the Linux kernel, the following vulnerability has been resolved:
mm/page_alloc: prevent pcp corruption with SMP=n
The kernel test robot has reported:
BUG: spinlock trylock failure on UP on CPU#0, kcompactd0/28
lock: 0xffff888807e35ef0, .magic: dead4ead, .owner: kcompactd0/28, .owner_cpu: 0
CPU: 0 UID: 0 PID: 28 Comm: kcompactd0 Not tainted 6.18.0-rc5-00127-ga06157804399 #1 PREEMPT 8cc09ef94dcec767faa911515ce9e609c45db470
Call Trace:
<IRQ>
__dump_stack (lib/dump_stack.c:95)
dump_stack_lvl (lib/dump_stack.c:123)
dump_stack (lib/dump_stack.c:130)
spin_dump (kernel/locking/spinlock_debug.c:71)
do_raw_spin_trylock (kernel/locking/spinlock_debug.c:?)
_raw_spin_trylock (include/linux/spinlock_api_smp.h:89 kernel/locking/spinlock.c:138)
__free_frozen_pages (mm/page_alloc.c:2973)
___free_pages (mm/page_alloc.c:5295)
__free_pages (mm/page_alloc.c:5334)
tlb_remove_table_rcu (include/linux/mm.h:? include/linux/mm.h:3122 include/asm-generic/tlb.h:220 mm/mmu_gather.c:227 mm/mmu_gather.c:290)
? __cfi_tlb_remove_table_rcu (mm/mmu_gather.c:289)
? rcu_core (kernel/rcu/tree.c:?)
rcu_core (include/linux/rcupdate.h:341 kernel/rcu/tree.c:2607 kernel/rcu/tree.c:2861)
rcu_core_si (kernel/rcu/tree.c:2879)
handle_softirqs (arch/x86/include/asm/jump_label.h:36 include/trace/events/irq.h:142 kernel/softirq.c:623)
__irq_exit_rcu (arch/x86/include/asm/jump_label.h:36 kernel/softirq.c:725)
irq_exit_rcu (kernel/softirq.c:741)
sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1052)
</IRQ>
<TASK>
RIP: 0010:_raw_spin_unlock_irqrestore (arch/x86/include/asm/preempt.h:95 include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194)
free_pcppages_bulk (mm/page_alloc.c:1494)
drain_pages_zone (include/linux/spinlock.h:391 mm/page_alloc.c:2632)
__drain_all_pages (mm/page_alloc.c:2731)
drain_all_pages (mm/page_alloc.c:2747)
kcompactd (mm/compaction.c:3115)
kthread (kernel/kthread.c:465)
? __cfi_kcompactd (mm/compaction.c:3166)
? __cfi_kthread (kernel/kthread.c:412)
ret_from_fork (arch/x86/kernel/process.c:164)
? __cfi_kthread (kernel/kthread.c:412)
ret_from_fork_asm (arch/x86/entry/entry_64.S:255)
</TASK>
Matthew has analyzed the report and identified that in drain_page_zone()
we are in a section protected by spin_lock(&pcp->lock) and then get an
interrupt that attempts spin_trylock() on the same lock. The code is
designed to work this way without disabling IRQs and occasionally fail the
trylock with a fallback. However, the SMP=n spinlock implementation
assumes spin_trylock() will always succeed, and thus it's normally a
no-op. Here the enabled lock debugging catches the problem, but otherwise
it could cause a corruption of the pcp structure.
The problem has been introduced by commit 574907741599 ("mm/page_alloc:
leave IRQs enabled for per-cpu page allocations"). The pcp locking scheme
recognizes the need for disabling IRQs to prevent nesting spin_trylock()
sections on SMP=n, but the need to prevent the nesting in spin_lock() has
not been recognized. Fix it by introducing local wrappers that change the
spin_lock() to spin_lock_iqsave() with SMP=n and use them in all places
that do spin_lock(&pcp->lock).
[vbabka@suse.cz: add pcp_ prefix to the spin_lock_irqsave wrappers, per Steven]
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.1.57 – < 6.1.162, 6.2 | 6.1.162 |
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.8-1 | — |
| Debian 13 | linux | 6.12.69-1 | DSA-6126-1 |
| Debian 12 | linux | 6.1.162-1 | DSA-6127-1 |
| Debian 11 | linux-6.1 | 6.1.162-1~deb11u1 | DLA-4476-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1022.26 | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-117.117 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1055.58 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1056.62 | USN-8278-2 |
| Ubuntu 24.04 LTS | linux-azure-6.17 | 6.17.0-1021.21~24.04.1 | USN-8604-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1058.65 | — |
| Ubuntu 24.04 LTS | linux-azure-fde-6.17 | 6.17.0-1018.18~24.04.1 | USN-8605-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1058.61 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.17 | 6.17.0-1021.24~24.04.1 | USN-8570-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1054.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1041.44 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.17 | 6.17.0-41.41~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1055.56 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-117.117.1 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1054.57 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1031.31 | USN-8669-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1054.57.1 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1024.24 | USN-8296-2 |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1030.30 | USN-8594-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1054.55 | — |
| Ubuntu 24.04 LTS | linux-oracle-6.17 | 6.17.0-1019.19~24.04.3 | USN-8570-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1056.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-riscv +20 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1032.33 | USN-8499-1 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1057.60~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1059.65~22.04.1 | USN-8440-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1060.63~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-124.124~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1055.56~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-117.117.1~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1054.57~22.04.1 | USN-8289-2 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1054.55~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-117.117~22.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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-2045.46 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1051.52 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1018.20~24.04.1 | USN-8570-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1051.52~22.04.1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1055.58+fips1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1059.65+fips1 | USN-8393-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-116.116+fips1 | USN-8296-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1058.61+fips1 | USN-8278-1 |
| Ubuntu Pro 26.04 LTS | linux | 7.0.0-30.30 | LSN-0122-1 |
| Ubuntu Pro 26.04 LTS | linux-aws | 7.0.0-1011.11 | LSN-0122-1 |
| Ubuntu Pro 26.04 LTS | linux-azure | 7.0.0-1012.12 | LSN-0122-1 |
| Ubuntu Pro 26.04 LTS | linux-gcp | 7.0.0-1010.10 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux | 6.8.0-142.142 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-aws | 6.8.0-1065.68 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-azure | 6.8.0-1068.76 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-gcp | 6.8.0-1069.77 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-gke | 6.8.0-1064.72 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-ibm | 6.8.0-1065.66 | LSN-0122-1 |
| Ubuntu Pro 24.04 LTS | linux-oracle | 6.8.0-1062.65 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux | 5.15.0-202.212 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-aws | 5.15.0-1119.126 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-aws-6.8 | 6.8.0-1065.68~22.04.1 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-azure | 5.15.0-1125.134 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-gcp | 5.15.0-1120.130 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-gcp-6.8 | 6.8.0-1069.77~22.04.1 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-gke | 5.15.0-1115.121 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-hwe-6.8 | 6.8.0-149.149~22.04.1 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-ibm | 5.15.0-1113.117 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-ibm-6.8 | 6.8.0-1066.67~22.04.1 | LSN-0122-1 |
| Ubuntu Pro 22.04 LTS | linux-lowlatency | 5.15.0-197.207 | LSN-0122-1 |
| Ubuntu Pro 20.04 LTS | linux | 5.4.0-245.265 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux | 4.15.0-260.272 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux-aws | 4.15.0-1197.210 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux-azure-4.15 | 4.15.0-1207.222 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux-gcp-4.15 | 4.15.0-1190.207 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux-hwe-5.4 | 5.4.0-245.265~18.04.1 | LSN-0122-1 |
| Ubuntu Pro 18.04 LTS | linux-oracle | 4.15.0-1160.171 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux | 4.4.0-291.325 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux-aws | 4.4.0-1200.215 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux-aws-hwe | 4.15.0-1197.210~16.04.1 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux-azure | 4.15.0-1208.223~16.04.1 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux-gcp | 4.15.0-1190.207~16.04.1 | LSN-0122-1 |
| Ubuntu Pro 16.04 LTS | linux-hwe | 4.15.0-260.272~16.04.2 | LSN-0122-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.68-92.122 +1 | 1:1.0-0.amzn2023 | ALAS2023-2026-1468, ALAS2023-2026-1455 |
| Amazon Linux 2023 | perf +14 | 1:6.1.163-186.299.amzn2023 | ALAS2023-2026-1468 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.68-92.122.amzn2023 | ALAS2023-2026-1455 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.126.1-1 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-109.67.6.el10uek | ELSA-2026-50144 |
Advisories 25
- LSN-0122-1 Kernel Live Patch Security Notice Ubuntu Security Notices (USN) · Nov 12, 2026
- WID-SEC-2026-0280 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8604-1 linux-azure-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8440-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8499-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8393-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8669-1 linux-nvidia-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-2 linux-oracle-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-1 linux-gcp-6.17, linux-realtime-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8594-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8278-1 linux, linux-aws, linux-aws-fips, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-raspi, linux-raspi-realtime, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-1 linux-nvidia, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-2 linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8278-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8296-1 linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8296-2 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8605-1 linux-azure-fde-6.17 vulnerabilities Ubuntu Security Notices (USN) · Oct 17, 2026
- ICSA-26-188-05 Siemens SINEC OS CISA ICS & IT advisories · Jul 7, 2026
- SSA-253495 SSA-253495: Multiple Vulnerabilities in SINEC OS before V4.0 Siemens ProductCERT · Jun 2, 2026
- ALAS2023-2026-1468 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 26, 2026
- ELSA-2026-50144 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Mar 10, 2026
- DSA-6127-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-6126-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- ALAS2023-2026-1455 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 5, 2026
- DLA-4476-1 linux-6.1 - security update Debian Security (DSA / DLA) · Feb 10, 2026
References
- https://git.kernel.org/stable/c/68688fc4eab007834b4c2d740214423ba2a335a8
- https://git.kernel.org/stable/c/4a04ff9cd816e7346fcc8126f00ed80481f6569d
- https://git.kernel.org/stable/c/df63d31e9ae02e2f6cd96147779e4ed7cd0e75f6
- https://git.kernel.org/stable/c/3098f8f7c7b0686c74827aec42a2c45e69801ff8
- https://git.kernel.org/stable/c/038a102535eb49e10e93eafac54352fcc5d78847