Description
In the Linux kernel, the following vulnerability has been resolved:
x86/mm/pat: Fix VM_PAT handling when fork() fails in copy_page_range()
If track_pfn_copy() fails, we already added the dst VMA to the maple
tree. As fork() fails, we'll cleanup the maple tree, and stumble over
the dst VMA for which we neither performed any reservation nor copied
any page tables.
Consequently untrack_pfn() will see VM_PAT and try obtaining the
PAT information from the page table -- which fails because the page
table was not copied.
The easiest fix would be to simply clear the VM_PAT flag of the dst VMA
if track_pfn_copy() fails. However, the whole thing is about "simply"
clearing the VM_PAT flag is shaky as well: if we passed track_pfn_copy()
and performed a reservation, but copying the page tables fails, we'll
simply clear the VM_PAT flag, not properly undoing the reservation ...
which is also wrong.
So let's fix it properly: set the VM_PAT flag only if the reservation
succeeded (leaving it clear initially), and undo the reservation if
anything goes wrong while copying the page tables: clearing the VM_PAT
flag after undoing the reservation.
Note that any copied page table entries will get zapped when the VMA will
get removed later, after copy_page_range() succeeded; as VM_PAT is not set
then, we won't try cleaning VM_PAT up once more and untrack_pfn() will be
happy. Note that leaving these page tables in place without a reservation
is not a problem, as we are aborting fork(); this process will never run.
A reproducer can trigger this usually at the first try:
https://gitlab.com/davidhildenbrand/scratchspace/-/raw/main/reproducers/pat_fork.c
WARNING: CPU: 26 PID: 11650 at arch/x86/mm/pat/memtype.c:983 get_pat_info+0xf6/0x110
Modules linked in: ...
CPU: 26 UID: 0 PID: 11650 Comm: repro3 Not tainted 6.12.0-rc5+ #92
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-2.fc40 04/01/2014
RIP: 0010:get_pat_info+0xf6/0x110
...
Call Trace:
<TASK>
...
untrack_pfn+0x52/0x110
unmap_single_vma+0xa6/0xe0
unmap_vmas+0x105/0x1f0
exit_mmap+0xf6/0x460
__mmput+0x4b/0x120
copy_process+0x1bf6/0x2aa0
kernel_clone+0xab/0x440
__do_sys_clone+0x66/0x90
do_syscall_64+0x95/0x180
Likely this case was missed in:
d155df53f310 ("x86/mm/pat: clear VM_PAT if copy_p4d_range failed")
... and instead of undoing the reservation we simply cleared the VM_PAT flag.
Keep the documentation of these functions in include/linux/pgtable.h,
one place is more than sufficient -- we should clean that up for the other
functions like track_pfn_remap/untrack_pfn separately.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 2.6.29 | 6.1.160 |
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.12.25-1 | — |
| Debian 13 | linux | 6.12.25-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-1012.16 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 25.04 | linux | 6.14.0-22.22 | USN-7594-1 |
| Ubuntu 25.04 | linux-aws +3 | 6.14.0-1007.7 | USN-7594-3, USN-7594-2, USN-7594-1 |
| Ubuntu 25.04 | linux-gcp | 6.14.0-1008.8 | USN-7594-1 |
| Ubuntu 25.04 | linux-realtime | 6.14.0-1004.4 | USN-7594-1 |
| Ubuntu 24.04 LTS | linux | 6.8.0-86.87 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1041.43 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1041.47 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-azure-6.11 | 6.11.0-1018.18~24.04.1 | USN-7628-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1029.32 | USN-7940-2 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1042.45 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.11 | 6.11.0-1016.16~24.04.1 | USN-7605-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1038.43 | USN-7835-3 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1025.28 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.11 | 6.11.0-28.28~24.04.1 | USN-7605-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1039.39 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-intel +4 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-86.87.1 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-lowlatency-hwe-6.11 | 6.11.0-1015.16~24.04.2 | USN-7605-2 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1041.44 | USN-7835-3 |
| Ubuntu 24.04 LTS | linux-nvidia-6.11 | 6.11.0-1012.12 | — |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1041.44.1 | USN-7835-3 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1012.12 | — |
| Ubuntu 24.04 LTS | linux-oem-6.11 | 6.11.0-1024.24 | USN-7606-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1038.39 | USN-7835-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1041.45 | USN-7887-2 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1018.19 | — |
Show 19 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 22.04 LTS | linux +49 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1041.43~22.04.1 | USN-7835-6 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1041.47~22.04.1 | USN-7835-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1042.45~22.04.1 | USN-7835-3 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-86.87~22.04.1 | USN-7835-4 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1039.39~22.04.1 | USN-7835-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-86.87.1~22.04.1 | USN-7835-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1041.44~22.04.2 | USN-7835-3 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1038.39~22.04.1 | USN-7835-5 |
| 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-2032.33 | USN-7887-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1036.37 | USN-7835-2 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1036.37~22.04.1 | USN-7835-2 |
| 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 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1041.43+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1044.50+fips1 | USN-7940-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-86.87+fips1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1042.45+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips +3 | No fix yet | — |
| 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-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +21 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux +12 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.3.1 | SUSE-SU-2025:02997-1, SUSE-SU-2025:01951-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.3.1 | SUSE-SU-2025:03011-1, SUSE-SU-2025:01967-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.3.1.150700.17.2.1 | SUSE-SU-2025:02997-1, SUSE-SU-2025:01951-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:02996-1, SUSE-SU-2025:01614-1 |
| SLES 15 SP6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:02969-1, SUSE-SU-2025:01707-1 |
| SLES 15 SP6 | kernel-coco +3 | 6.4.0-15061.21.coco15sp6.1 | SUSE-SU-2025:02923-1, SUSE-SU-2025:01919-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:02996-1, SUSE-SU-2025:01614-1 |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.1 | kernel-default-base | 6.4.0-29.1.21.7 | SUSE-SU-2025:20354-1 |
| SLE Micro 6.1 | kernel-livepatch-MICRO-6-0_Update_7 +1 | 1-1.2 | SUSE-SU-2025:20355-1, SUSE-SU-2025:20354-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-31.1 | SUSE-SU-2025:20355-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-29.1 | SUSE-SU-2025:20354-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-29.1.21.7 | SUSE-SU-2025:20343-1 |
| SLE Micro 6.0 | kernel-livepatch-MICRO-6-0_Update_7 +1 | 1-1.2 | SUSE-SU-2025:20344-1, SUSE-SU-2025:20343-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-31.1 | SUSE-SU-2025:20344-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-29.1 | SUSE-SU-2025:20343-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.3.1 | SUSE-SU-2025:02997-1, SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_1 | 1-150700.15.3.1 | SUSE-SU-2025:01951-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_3 | 1-150700.15.3.4 | SUSE-SU-2025:02997-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.50.1 | SUSE-SU-2025:02996-1, SUSE-SU-2025:01614-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_11 | 1-150600.1.3.2 | SUSE-SU-2025:01964-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_11 | 1-150600.13.3.1 | SUSE-SU-2025:01614-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_14 | 1-150600.13.3.4 | SUSE-SU-2025:02996-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.50.1 | SUSE-SU-2025:02996-1, SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-azure +2 | 6.4.0-150600.8.37.1 | SUSE-SU-2025:02969-1, SUSE-SU-2025:01707-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.50.1.150600.12.22.1 | SUSE-SU-2025:02996-1, SUSE-SU-2025:01614-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | bpftool +14 | 6.12.23-29.97.amzn2023 | ALAS2023-2025-948 |
| Amazon Linux 2023 | kernel-livepatch-6.12.23-29.97 | 1.0-0.amzn2023 | ALAS2023-2025-948 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | kernel | No fix yet | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-101.33.4.3.el10uek | ELSA-2025-20530, ELSA-2025-20480 |
Advisories 42
- WID-SEC-2025-0844 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- SSA-457936 SSA-457936: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1.7 Siemens ProductCERT · Nov 10, 2026
- USN-7940-2 linux-azure-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7940-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-1 linux, linux-aws, linux-azure, linux-azure-6.8, linux-gcp, linux-gkeop, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-3 linux-gcp-6.8, linux-gke, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-6 linux-aws-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7887-1 linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7887-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-2 linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-4 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7835-5 linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7628-1 linux-azure, linux-azure-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7605-1 linux, linux-aws, linux-gcp, linux-gcp-6.11, linux-hwe-6.11, linux-oracle, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7605-2 linux-lowlatency, linux-lowlatency-hwe-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-7606-1 linux-oem-6.11 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- ICSA-26-295-11 Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP CISA ICS & IT advisories · Oct 22, 2026
- SSA-019113 SSA-019113: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1.6 Siemens ProductCERT · Oct 13, 2026
- ICSA-26-209-04 Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP CISA ICS & IT advisories · Jul 28, 2026
- SUSE-SU-2025:20343-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02997-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20344-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20354-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20355-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:03011-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:01614-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02996-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- DSA-6127-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-4476-1 linux-6.1 - security update Debian Security (DSA / DLA) · Feb 10, 2026
- SUSE-SU-2025:01967-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01919-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01951-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01964-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01707-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- USN-7594-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- USN-7594-1 linux, linux-gcp, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- SUSE-SU-2025:02923-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- USN-7594-3 linux-aws, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- SUSE-SU-2025:02969-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- ELSA-2025-20530 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Aug 18, 2025
- ALAS2023-2025-948 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Jul 29, 2025
- ELSA-2025-20480 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 17, 2025
References
- https://git.kernel.org/stable/c/a6623712ba8449876f0b3de9462831523fb851e4
- https://git.kernel.org/stable/c/b07398e8a5da517083f5c3f2daa8f6681b48ab28
- https://git.kernel.org/stable/c/8d6373f83f367dbed316ddeb178130a3a64b5b67
- https://git.kernel.org/stable/c/da381c33f3aa6406406c9fdf07b8b0b63e0ce722
- https://git.kernel.org/stable/c/de6185b8892d88142ef69768fe4077cbf40109c0
- https://git.kernel.org/stable/c/dc84bc2aba85a1508f04a936f9f9a15f64ebfb31