CVE-2025-37868

drm/xe/userptr: fix notifier vs folio deadlock

MEDIUM
5.5
CVSS Score
Published: May 9, 2025 at 06:43 AM UTC
Updated: June 17, 2026 at 09:15 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: drm/xe/userptr: fix notifier vs folio deadlock User is reporting what smells like notifier vs folio deadlock, where migrate_pages_batch() on core kernel side is holding folio lock(s) and then interacting with the mappings of it, however those mappings are tied to some userptr, which means calling into the notifier callback and grabbing the notifier lock. With perfect timing it looks possible that the pages we pulled from the hmm fault can get sniped by migrate_pages_batch() at the same time that we are holding the notifier lock to mark the pages as accessed/dirty, but at this point we also want to grab the folio locks(s) to mark them as dirty, but if they are contended from notifier/migrate_pages_batch side then we deadlock since folio lock won't be dropped until we drop the notifier lock. Fortunately the mark_page_accessed/dirty is not really needed in the first place it seems and should have already been done by hmm fault, so just remove it. (cherry picked from commit bd7c0cb695e87c0e43247be8196b4919edbe0e85)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 6.13.76.12.19 ≤ v < 6.12.256.13.7 ≤ v < 6.146.14 ≤ v < 6.14.46.14 ≤ v < 6.156.14.1 ≤ v < 6.14.40a98219bcc961edd3388960576e4353e123b4a512a24c98f0e4cc994334598d4f3a851972064809d6.12.196.13.76.146.14 rc66.14 rc76.15 rc16.15 rc2f9326f529da7298a95643c3267f1c0fdb0db55eb
Vendor states this is fixed in 2577b202458cddff85cc154b1fe7f313e0d1f418 (fixed)
Vendor states this is fixed in 65dc4e3d5b01db0179fc95c1f0bdb87194c28ab5 (fixed)
Vendor states this is fixed in 90574ecf6052be83971d91d16600c5cf07003bbb (fixed)
Vendor states this is fixed in 6.12.25 (unaffected)
Vendor states this is fixed in 6.14 (unaffected)
Vendor states this is fixed in 6.14.4 (unaffected)
Vendor states this is fixed in 6.15 (unaffected)

References (3)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2577b202458cddff85cc154b1fe7f313e0d1f418
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/65dc4e3d5b01db0179fc95c1f0bdb87194c28ab5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/90574ecf6052be83971d91d16600c5cf07003bbb

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card