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().
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-develUpgrade kernel-modules-extraUpgrade kernel-headersUpgrade bpftool6.12-debuginfoUpgrade kernel6.12-libbpfUpgrade python3-perf6.12-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpfUpgrade kernel-libbpf-develUpgrade kernel-libbpf-staticUpgrade kernel6.12-modules-extraUpgrade perf6.12Upgrade python3-perf6.12Upgrade perf-debuginfoUpgrade kernel-livepatch-6.12.74-98.124Upgrade kernel6.12Upgrade kernel6.12-tools-develUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade python3-perfUpgrade kernel-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-tools-develUpgrade bpftool6.12Upgrade kernelUpgrade kernel6.12-toolsUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-debuginfoUpgrade perf6.12-debuginfoUpgrade bpftoolUpgrade kernel-libbpf-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel6.12-headersUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel-livepatch-6.1.168-202.320Upgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12-libbpf-debuginfo | Mar 27, 2026 | Feb 4, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 3, 2026 | May 3, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 25, 2026 | Feb 4, 2026 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Feb 4, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-5.15Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-ibm-classicUpgrade linux-image-azure-6.8Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-aws-64k-5.15Upgrade linux-image-oem-24.04dUpgrade linux-image-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1062-azure-fipsUpgrade linux-image-xilinxUpgrade linux-image-ibmUpgrade linux-image-oracle-6.17Upgrade linux-image-oem-24.04aUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-134-lowlatencyUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-6.8.0-134-fipsUpgrade linux-image-virtualUpgrade linux-image-azure-fips-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-6.8.0-1060-awsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1063-gcpUpgrade linux-image-6.8.0-1063-gcp-fipsUpgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1106-raspiUpgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-ibm-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcp-5.15Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.17.0-1018-realtimeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.8.0-1063-gcp-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-azure-6.17Upgrade linux-image-generic-6.8Upgrade linux-image-gke-5.15Upgrade linux-image-azure-fipsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1060-aws-fipsUpgrade linux-image-gcp-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.17.0-1021-azureUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1058-nvidia-lowlatencyUpgrade linux-image-fips-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-genericUpgrade linux-image-azure-fde-6.17Upgrade linux-image-6.8.0-1058-nvidiaUpgrade linux-image-kvm-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1104-kvmUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.15.0-1117-azureUpgrade linux-image-nvidiaUpgrade linux-image-oem-20.04dUpgrade linux-image-6.17.0-1031-nvidiaUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-fips-5.15Upgrade linux-image-gkeopUpgrade linux-image-intel-iotgUpgrade linux-image-raspi-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-oem-24.04bUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-5.15.0-1112-awsUpgrade linux-image-6.8.0-1060-raspiUpgrade linux-image-aws-64kUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-6.17.0-1019-oracle-64kUpgrade linux-image-6.8.0-134-generic-64kUpgrade linux-image-oracleUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-virtual-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-generic-64kUpgrade linux-image-aws-5.15Upgrade linux-image-6.8.1-1055-realtimeUpgrade linux-image-6.8.0-1060-aws-64kUpgrade linux-image-6.8.0-1058-nvidia-64kUpgrade linux-image-6.8.0-1058-gke-64kUpgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-oem-24.04cUpgrade linux-image-generic-64k-5.15Upgrade linux-image-realtime-5.15Upgrade linux-image-awsUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.17.0-1021-gcpUpgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-5.15.0-1107-nvidia-lowlatencyUpgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-gkeUpgrade linux-image-aws-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-ibm-5.15Upgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-186-genericUpgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-6.17Upgrade linux-image-kvmUpgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-aws-fips-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-azureUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.0-1060-ibmUpgrade linux-image-6.17.0-1019-oracleUpgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-gcp-fipsUpgrade linux-image-gcp-6.17Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-184-lowlatencyUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-1058-gkeUpgrade linux-image-6.8.0-1029-nvidia-tegraUpgrade linux-image-6.8.0-1045-gkeopUpgrade linux-image-intelUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.17.0-1021-gcp-64kUpgrade linux-image-realtime-6.17Upgrade linux-image-6.8.0-134-genericUpgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-64k-6.17Upgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-azure-fde-6.8Upgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-oracle-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-azure-fde-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-6.8.0-136-genericUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1057-oracle-64kUpgrade linux-image-gke-64kUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1053-nvidia-tegra-igxUpgrade linux-image-virtual-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-oem-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-raspi-6.8Upgrade linux-image-oem-6.17Upgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-laptop-23.10Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-2049-raspi-realtimeUpgrade linux-image-6.17.0-1031-nvidia-64kUpgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1029-nvidia-tegra-rtUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-realtimeUpgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-5.15.0-186-fipsUpgrade linux-image-raspi-5.15Upgrade linux-image-6.8.0-134-lowlatency-64kUpgrade linux-image-nvidia-5.15Upgrade linux-image-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-gke-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-6.17.0-1030-oemUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-6.8.0-1058-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1057-oracleUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-azure-fips-5.15Upgrade linux-image-nvidia-hwe-22.04 | Jul 2, 2026 | Jul 1, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Feb 4, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub