Critical severity9.8NVD Advisory· Published Apr 24, 2026· Updated Jun 17, 2026
CVE-2026-31589
CVE-2026-31589
Description
In the Linux kernel, the following vulnerability has been resolved:
mm: call ->free_folio() directly in folio_unmap_invalidate()
We can only call filemap_free_folio() if we have a reference to (or hold a lock on) the mapping. Otherwise, we've already removed the folio from the mapping so it no longer pins the mapping and the mapping can be removed, causing a use-after-free when accessing mapping->a_ops.
Follow the same pattern as __remove_mapping() and load the free_folio function pointer before dropping the lock on the mapping. That lets us make filemap_free_folio() static as this was the only caller outside filemap.c.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
14- osv-coords12 versionspkg:apk/chainguard/linux-aws-6.18pkg:apk/chainguard/linux-azure-6.18pkg:apk/chainguard/linux-gcp-6.18pkg:apk/chainguard/linux-gcp-6.18-bootcpkg:apk/chainguard/linux-gcp-6.18-bootc-boot-installedpkg:apk/chainguard/linux-qemu-6.18pkg:apk/chainguard/linux-qemu-6.18-bootcpkg:apk/chainguard/linux-qemu-6.18-bootc-boot-installedpkg:apk/chainguard/linux-qemu-melangepkg:apk/chainguard/linux-vmware-6.18pkg:linux/kernelpkg:rpm/opensuse/kernel-source&distro=openSUSE%20Tumbleweed
< 6.18.31-r0+ 11 more
- (no CPE)range: < 6.18.31-r0
- (no CPE)range: < 0
- (no CPE)range: < 0
- (no CPE)range: < 6.18.38-r2
- (no CPE)range: < 0
- (no CPE)range: < 0
- (no CPE)range: < 6.18.38-r2
- (no CPE)range: < 0
- (no CPE)range: < 0
- (no CPE)range: < 0
- (no CPE)range: >= 6.14.0, < 6.18.27
- (no CPE)range: < 7.0.3-1.1
Patches
Vulnerability mechanics
References
4News mentions
0No linked articles in our index yet.