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().
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12-toolsUpgrade kernel6.12-tools-develUpgrade bpftool6.12Upgrade kernel6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade python3-perfUpgrade perf-debuginfoUpgrade perf6.12Upgrade kernel-modules-extraUpgrade kernel-livepatch-6.12.74-98.124Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-libbpfUpgrade python3-perf6.12Upgrade kernel-tools-debuginfoUpgrade kernel6.12-develUpgrade kernel-libbpf-staticUpgrade kernel6.12-libbpfUpgrade kernel-libbpf-develUpgrade python3-perf6.12-debuginfoUpgrade kernelUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-modules-extraUpgrade kernel-develUpgrade kernel-tools-develUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel6.12-debuginfoUpgrade bpftool-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel-modules-extra-commonUpgrade kernel-livepatch-6.1.168-202.320Upgrade bpftoolUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel-libbpf-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel6.12-libbpf-develUpgrade perf6.12-debuginfoUpgrade kernel-toolsUpgrade perfUpgrade kernel6.12-headersUpgrade kernel-debuginfo-common-aarch64 | Mar 27, 2026 | Feb 4, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | 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-gcp-64k-6.8Upgrade linux-image-laptop-23.10Upgrade linux-image-azure-cvmUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-6.17.0-1031-nvidia-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1029-nvidia-tegra-rtUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-2049-raspi-realtimeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-oem-6.17Upgrade linux-image-6.8.0-134-genericUpgrade linux-image-raspi-6.8Upgrade linux-image-realtimeUpgrade linux-image-realtime-6.17Upgrade linux-image-6.17.0-1021-gcp-64kUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-aws-fipsUpgrade linux-image-azure-5.15Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-virtual-5.15Upgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-raspi-5.15Upgrade linux-image-5.15.0-184-lowlatencyUpgrade linux-image-nvidia-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-186-fipsUpgrade linux-image-gcp-6.17Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.1-1055-realtimeUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.17.0-1019-oracleUpgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-kvmUpgrade linux-image-5.15.0-186-genericUpgrade linux-image-nvidia-6.17Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-oracle-5.15Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.8.0-1058-nvidia-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1060-ibmUpgrade linux-image-6.8.0-1058-gke-64kUpgrade linux-image-6.8.0-1060-aws-64kUpgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-azure-fips-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-generic-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-5.15Upgrade linux-image-6.8.0-1058-nvidia-64kUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-64kUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.17.0-1030-oemUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-ibm-5.15Upgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-oem-24.04cUpgrade linux-image-gkeUpgrade linux-image-realtime-5.15Upgrade linux-image-azure-fdeUpgrade linux-image-xilinx-6.8Upgrade linux-image-awsUpgrade linux-image-generic-64k-5.15Upgrade linux-image-6.8.0-1057-oracleUpgrade linux-image-6.8.0-134-lowlatency-64kUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gke-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-5.15.0-1053-nvidia-tegra-igxUpgrade linux-image-6.8.0-1057-oracle-64kUpgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1107-nvidia-lowlatencyUpgrade linux-image-6.8.0-1045-gkeopUpgrade linux-image-6.8.0-1058-gkeUpgrade linux-image-6.8.0-1029-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-realtime-6.8.1Upgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-oem-20.04Upgrade linux-image-intelUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-64k-6.17Upgrade linux-image-azure-fde-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-6.17.0-1021-gcpUpgrade linux-image-azure-fde-5.15Upgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-azureUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-azure-fips-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-134-fipsUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-6.17.0-1018-realtimeUpgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-xilinxUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-24.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-gcpUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-6.8.0-1062-azure-fipsUpgrade linux-image-6.8.0-1060-awsUpgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibm-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-fipsUpgrade linux-image-6.8.0-1063-gcp-fipsUpgrade linux-image-6.8.0-1063-gcpUpgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-5.15.0-1106-raspiUpgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-oracle-6.17Upgrade linux-image-oracleUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04dUpgrade linux-image-virtualUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1112-awsUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-fips-6.8Upgrade linux-image-azure-6.17Upgrade linux-image-6.8.0-1060-raspiUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1060-aws-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-generic-5.15Upgrade linux-image-oem-24.04bUpgrade linux-image-intel-iotgUpgrade linux-image-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-134-generic-64kUpgrade linux-image-6.8.0-1058-nvidia-lowlatencyUpgrade linux-image-6.17.0-1021-azureUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-oem-24.04aUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1117-azureUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidiaUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-azure-fipsUpgrade linux-image-aws-64k-5.15Upgrade linux-image-6.17.0-1031-nvidiaUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.17.0-1019-oracle-64kUpgrade linux-image-azure-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-tegraUpgrade linux-image-6.8.0-1063-gcp-64kUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-5.15.0-1104-kvmUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-kvm-5.15Upgrade linux-image-ibmUpgrade linux-image-genericUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-fips-5.15Upgrade linux-image-azure-fde-6.17Upgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1058-nvidiaUpgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-6.8.0-134-lowlatencyUpgrade linux-image-gcp-5.15 | 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 |
Prioritise with Active Threat Intelligence
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