CVE-2026-89755

Source
https://cve.org/CVERecord?id=CVE-2026-89755
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89755.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-89755
Downstream
Published
2026-09-11T19:46:58Z
Modified
2026-09-13T03:47:20Z
Summary
mm/migrate_device: clear stale mapping after freeing swapcache
Details

In the Linux kernel, the following vulnerability has been resolved:

mm/migrate_device: clear stale mapping after freeing swapcache

__migrate_device_pages() reads the folio mapping before calling folio_free_swap(). When folio_free_swap() succeeds, the folio is removed from the swap cache, but the saved mapping still points to swap_space.

Passing the stale mapping to folio_migrate_mapping() makes it use the mapped-folio path for a folio that is no longer in swapcache. It can then operate on swap_space.i_pages with invalid reference accounting, eventually triggering a folio reference count BUG.

After a successful split, nr still contains the number of pages in the original large folio, although each resulting page is now a separate order-0 folio. Reset nr to 1 so each split folio is processed separately, including its own swapcache removal and mapping lookup.

Refresh the saved mapping after folio_free_swap() so the current folio state is used during migration.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89755.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
df263d9a7dffee94ca5391120ee3b0587efa07f1
Fixed
8ffedc6573a665cdc31ebe47eae7b32b78d0df83
Fixed
34a00895d032a414830d41106a09329ae6c251b6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89755.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
7.2.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89755.json"