CVE-2025-37868

drm/xe/userptr: fix notifier vs folio deadlock

published May 9, 2025

CVSS
—
EPSS
0%
Percentile
10.8
In the wild
Unconfirmed
What it is

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)

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00211 · 10.8th percentile
Published
2025-05-09T06:43Z
EPSS history
Timeline
  • 09 MAY 06:43Z
    drm/xe/userptr: fix notifier vs folio deadlock
    cvelistv5