CVE-2026-98223: mm: filemap: retain mapped dropbehind folios
In the Linux kernel, the following vulnerability has been resolved:
mm: filemap: retain mapped dropbehind folios
Fault-around can map ready dropbehind folios without going through the normal page-cache lookup that clears dropbehind. A mapping represents a competing cached user, so retain the folio instead of forcibly unmapping it when writeback completes.
For a mapped folio, foliounmapinvalidate() can call unmapmappingfolio(), which takes immaprwsem and may sleep. Retaining mapped folios avoids this path when folioenddropbehind() runs in non-preemptible task context.
Tal was able to trigger a sleeping-in-atomic warning due to this [1].
Unmapped dropbehind folios continue through the existing invalidation path.