CVE-2026-89755

CVE-2026-89755

High · published September 12, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
4.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00156 · 4.4th percentile
Published
2026-09-12T00:20Z
References (4)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:46Z
    mm/migrate_device: clear stale mapping after freeing swapcache
    cvelistv5