CVE-2026-64129: mm/migrate_device: fix spinlock leak in migrate_vma_insert_huge_pmd_page
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026071926-CVE-2026-64129-c1ed@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: mm/migrate_device: fix spinlock leak in migrate_vma_insert_huge_pmd_page When check_stable_address_space() fails after the PMD spinlock has been acquired via pmd_lock(), the code jumps directly to the abort label, bypassing the spin_unlock() call in unlock_abort. This causes the PMD spinlock to be permanently held, leading to a deadlock. Change the goto target from abort to unlock_abort to ensure the spinlock is always released on this error path. The Linux kernel CVE team has assigned CVE-2026-64129 to this issue. Affected and fixed versions =========================== Issue introduced in 6.19 with commit a30b48bf1b244f11bf9b6d20cdccfe0c2264130c and fixed in 7.0.11 with commit c715f7ccf7a294c058667b678a4ba50fad933c62 Issue introduced in 6.19 with commit a30b48bf1b244f11bf9b6d20cdccfe0c2264130c and fixed in 7.1 with commit 63451de16e0a08be40f9ab5e7c5c8f5c79676fb1 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64129 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: mm/migrate_device.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/c715f7ccf7a294c058667b678a4ba50fad933c62 https://git.kernel.org/stable/c/63451de16e0a08be40f9ab5e7c5c8f5c79676fb1