# CVE-2026-89805: linux: In the Linux kernel, the following vulnerability has been resolved:  drm/pagemap: Fix folio allocation fallback and u...

CVE-2026-89805 is fixed in linux on 1 platform by DEBIAN-CVE-2026-89805 (version 7.2.6-1), released September 23, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-89805
- Priority: High
- CVSS: 7.8 (high)
- EPSS: 0.0017
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Sep 16, 2026

## Description

In the Linux kernel, the following vulnerability has been resolved:  drm/pagemap: Fix folio allocation fallback and use-after-put  drm_pagemap_migrate_populate_ram_pfn() had two issues when populating RAM PFNs with higher-order folios:  1. The higher-order vma_alloc_folio()/folio_alloc() calls did not pass    __GFP_NOWARN, so a THP allocation failure under memory pressure    would spam the kernel log, and there was no fallback path despite a    TODO comment stating one was needed. Add __GFP_NOWARN to the    higher-order allocation and, on failure, fall back to order-0    allocations for the entire range originally covered by the failed    higher-order allocation, leaving MIGRATE_PFN_COMPOUND unset for    those PFNs.  2. In the free_pages error path, order was computed via    folio_order(page_folio(page)) *after* put_page(page) had already    dropped the reference, resulting in a use-after-free/put when that    was the last reference on the page. Compute order before releasing    the page.  Introducing the fallback in 1. also requires the source page array handed to ->copy_to_ram() to be built differently. Both callers only populated the entry at the head of each source folio, relying on the copy callback to derive the rest of the folio from the order recorded in the matching drm_pagemap_addr. Once the destination has been demoted to order-0 folios the drm_pagemap_addr entries are per-page, so a source page is needed for every one of them; leaving them NULL makes the copy callback stop after the first page and the remainder of the range is never copied.  The source folio is only split later, by migrate_vma_pages() / migrate_device_pages(), so its order cannot be used to detect the demotion - test the destination for MIGRATE_PFN_COMPOUND instead. Factor the array population out into drm_pagemap_migrate_populate_src_pages() and use it from both drm_pagemap_evict_to_ram() and __drm_pagemap_migrate_to_ram().

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 14 | 7.2.6-1 | [DEBIAN-CVE-2026-89805](https://patchblox.com/security/data/fix/linux/debian-cve-2026-89805.md) | Sep 23, 2026 |

---

Data as of 2026-11-08T13:06:02Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
