Description
In the Linux kernel, the following vulnerability has been resolved:
mm/hugetlb: fix hugetlb_pmd_shared()
Patch series "mm/hugetlb: fixes for PMD table sharing (incl. using
mmu_gather)", v3.
One functional fix, one performance regression fix, and two related
comment fixes.
I cleaned up my prototype I recently shared [1] for the performance fix,
deferring most of the cleanups I had in the prototype to a later point.
While doing that I identified the other things.
The goal of this patch set is to be backported to stable trees "fairly"
easily. At least patch #1 and #4.
Patch #1 fixes hugetlb_pmd_shared() not detecting any sharing
Patch #2 + #3 are simple comment fixes that patch #4 interacts with.
Patch #4 is a fix for the reported performance regression due to excessive
IPI broadcasts during fork()+exit().
The last patch is all about TLB flushes, IPIs and mmu_gather.
Read: complicated
There are plenty of cleanups in the future to be had + one reasonable
optimization on x86. But that's all out of scope for this series.
Runtime tested, with a focus on fixing the performance regression using
the original reproducer [2] on x86.
This patch (of 4):
We switched from (wrongly) using the page count to an independent shared
count. Now, shared page tables have a refcount of 1 (excluding
speculative references) and instead use ptdesc->pt_share_count to identify
sharing.
We didn't convert hugetlb_pmd_shared(), so right now, we would never
detect a shared PMD table as such, because sharing/unsharing no longer
touches the refcount of a PMD table.
Page migration, like mbind() or migrate_pages() would allow for migrating
folios mapped into such shared PMD tables, even though the folios are not
exclusive. In smaps we would account them as "private" although they are
"shared", and we would be wrongly setting the PM_MMAP_EXCLUSIVE in the
pagemap interface.
Fix it by properly using ptdesc_pmd_is_shared() in hugetlb_pmd_shared().
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.10.239 – < 5.10.253, 5.15.186 – < 5.15.203, 6.1.142 – < 6.1.167, 6.6.72 – < 6.6.127, 6.12.9 – < 6.12.74, 6.13 | 5.10.253 |
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.74-2 | DSA-6162-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-6.17 | 6.17.0-1021.21~24.04.1 | USN-8604-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1062.69 | USN-8607-1 |
| 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-1063.69 | USN-8492-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-1058.64 | USN-8492-2 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1045.48 | USN-8492-2 |
| 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-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-6.17 | 6.17.0-1031.31 | USN-8669-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-oem-6.17 | 6.17.0-1030.30 | USN-8594-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1057.58 | USN-8492-1 |
| 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-1060.64 | USN-8492-4 |
| 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 | 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 8 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 | 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-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-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 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 | USN-8597-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 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.27.1 | SUSE-SU-2026:20931-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20931-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.27.1 | SUSE-SU-2026:20931-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20931-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | SUSE-SU-2026:20838-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.27.1 | SUSE-SU-2026:20873-1, SUSE-SU-2026:20838-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.27.1.160000.2.8 | openSUSE-SU-2026:20416-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.27.1 | openSUSE-SU-2026:20416-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.74-98.124 +1 | 1:1.0-0.amzn2023 | ALAS2023-2026-1681, ALAS2023-2026-1489 |
| Amazon Linux 2023 | perf +14 | 1:6.1.168-202.320.amzn2023 | ALAS2023-2026-1681 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.74-98.124.amzn2023 | ALAS2023-2026-1489 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.130.1-1 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-200.74.27.el10uek | ELSA-2026-50372, ELSA-2026-50232, ELSA-2026-50160 |
Advisories 50
- WID-SEC-2026-0324 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 11, 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-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-8607-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8597-1 linux-ibm-5.15 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-8604-1 linux-azure-6.17 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-8499-1 linux-xilinx 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-8669-1 linux-nvidia-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8498-1 linux-nvidia-tegra 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-8570-2 linux-oracle-6.17 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
- USN-8594-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- ICSA-26-295-16 Siemens SIMATIC S7-1500 TM MFP CISA ICS & IT advisories · Oct 22, 2026
- ICSA-26-295-11 Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP CISA ICS & IT advisories · Oct 22, 2026
- WID-SEC-2026-3891 Siemens SIMATIC S7: Mehrere Schwachstelle BSI CERT-Bund (WID) · Oct 18, 2026
- USN-8605-1 linux-azure-fde-6.17 vulnerabilities Ubuntu Security Notices (USN) · Oct 17, 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
- SSA-082556 SSA-082556: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1.5 Siemens ProductCERT · Oct 13, 2026
- SSA-784472 SSA-784472: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 TM MFP V1.1.1 Siemens ProductCERT · Oct 13, 2026
- ALAS2023-2026-1681 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 29, 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-2026:20873-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- ELSA-2026-50372 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 2, 2026
- ALAS2023-2026-1489 Moderate: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Jul 1, 2026
- ELSA-2026-50232 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Apr 15, 2026
- SUSE-SU-2026:20931-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Apr 2, 2026
- openSUSE-SU-2026:20416-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 29, 2026
- SUSE-SU-2026:20838-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- DSA-6162-1 linux - security update Debian Security (DSA / DLA) · Mar 23, 2026
- ELSA-2026-50160 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Mar 20, 2026
References
- https://git.kernel.org/stable/c/8ae48255bcb17b32436be97553dca848730d365f
- https://git.kernel.org/stable/c/bf3c2affe245cf831866ddc8f736ae6a22cdc11c
- https://git.kernel.org/stable/c/5b2aec77f92265a9028c5f632bdd9af5b57ec3a3
- https://git.kernel.org/stable/c/51dcf459845fd28f5a0d83d408a379b274ec5cc5
- https://git.kernel.org/stable/c/3a18b452dd5f7f1652c2e92f8ae769aa17a66c9e
- https://git.kernel.org/stable/c/69c4e241ff13545d410a8b2a688c932182a858bf
- https://git.kernel.org/stable/c/ca1a47cd3f5f4c46ca188b1c9a27af87d1ab2216