CVE-2026-68163

CVE-2026-68163

High · published August 10, 2026

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

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

mm/page_vma_mapped: fix device-private PMD handling

Commit 65edfda6f3f2 ("mm/rmap: extend rmap and migration support

device-private entries") introduced the concept of device-private PMD

entries, but did not correctly update the rmap walk code to account for

them.

As a result, when page_vma_mapped_walk() encounters device-private PMD

entries, it takes no action other than to acquire the PMD lock and exit.

However this is highly problematic for two reasons - firstly, device

private entries possess a PFN so check_pmd() needs to be called to ensure

an overlapping PFN range.

Secondly, and more importantly, if PVMW_MIGRATION is set the caller

assumes the returned entry is a migration entry, resulting in memory

corruption when the caller tries to interpret the device private entry as

such.

In addition, commit 146287290023 ("mm/huge_memory: implement

device-private THP splitting") allowed device private PMDs to be split

like THP mappings, but again did not update this code path.

As a result, we might race a PMD split prior to acquiring the PMD lock.

This patch addresses all of these issues by invoking check_pmd(), ensuring

PMVW_MIGRATION is not set and checks whether a split raced us we do for

PMD THP and migration entries.

Instead of checking for a subset of the cases after taking the pmd_lock(),

put device-private along with pmd_trans_huge() and

pmd_is_migration_entry(). Also remove thp_migration_supported() as it is

already guarded by pmd_is_migration_entry().

[[email protected]: fix Raspberry Pi 1 build, per David]

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.00165 · 5.5th percentile
Published
2026-08-10T17:20Z
References (2)
EPSS history
Timeline
  • 10 AUG 11:59Z
    mm/page_vma_mapped: fix device-private PMD handling
    cvelistv5