Database/Kernel, userspace & hypervisor
Linux arm64: stale page-table entry left in the walk cache when a hugetlb PMD table is unshared
Impact
On arm64, tlb_flush() decided between a full invalidate and a leaf-only invalidate using only tlb->freed_tables, ignoring the unshared_tables flag set when huge_pmd_unshare() tears down a shared PMD table. The non-leaf entry for the unshared table therefore stayed in the walk cache, so the CPU could keep walking through a page table that is no longer the right one - stale translations, with the usual consequences of a page table the hardware and the kernel disagree about. This lands on arm64 server fleets - Grace, Ampere, Graviton-class nodes - specifically where hugetlbfs page-table sharing is in use, which is common for large-page allocations backing accelerator workloads. x86 nodes are not affected by this arch-specific path.
Who can reach it
Local - a process using hugetlbfs with shared PMD tables on an arm64 host. Unprivileged if hugetlbfs is exposed to tenants; no network path.
What to do
Update to a stable kernel that includes unshared_tables in the arm64 tlb_flush() decision. Disabling hugetlbfs PMD sharing avoids the path at a performance cost on large-page workloads. The fix is arch kernel code, so affected arm64 nodes must be drained and rebooted.
References
Related entries
- Linux kernel amdkfd (KFD compute driver, /dev/kfd) (drm/amdkfd): An out-of-bounds access in the amdkfd (KFD computeCVE-2026-63881 · Linux kernel amdkfd (KFD compute driver, /dev/kfd) (drm/amdkfd)High
- Linux i915 GPU kernel driver: A use-after-free in the i915 GPU kernel driver. The general shape is that a GPU object isCVE-2026-63884 · Linux i915 GPU kernel driverHigh
- Linux kernel (net/xfrm): Cloning an IPTFS security association kmemdups the mode data, so the clone shares the originalCVE-2026-63911 · Linux kernel (net/xfrm)High
- Linux kernel (net/smc): The SMC socket hashtables are re-initialised at the end of module init, after the protocol andCVE-2026-64005 · Linux kernel (net/smc)High
- Linux kernel (net/xfrm): An unprivileged user who can create IPsec SAs turns one outbound datagram into a multi-exabyteCVE-2026-64009 · Linux kernel (net/xfrm)High
- Linux kernel cgroup/rstat: BPF kfunc accepts an unvalidated CPU index for per-cpu lookupsCVE-2026-64036 · Linux kernel cgroup/rstat (css_rstat_updated BPF kfunc)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.