CVE-2026-31455: Linux kernel · xfs: stop reclaim before pushing AIL during unmount
Source GCVE Database
Not known to be exploited · CVSS 7.8 High.
Data as of 27 Oct 2026, 00:07 UTC
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 22 Apr 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
Description
In the Linux kernel, the following vulnerability has been resolved: xfs: stop reclaim before pushing AIL during unmount The unmount sequence in xfs_unmount_flush_inodes() pushed the AIL while background reclaim and inodegc are still running. This is broken independently of any use-after-free issues - background reclaim and inodegc should not be running while the AIL is being pushed during unmount, as inodegc can dirty and insert inodes into the AIL during the flush, and background reclaim can race to abort and free dirty inodes. Reorder xfs_unmount_flush_inodes() to stop inodegc and cancel background reclaim before pushing the AIL. Stop inodegc before cancelling m_reclaim_work because the inodegc worker can re-queue m_reclaim_work via xfs_inodegc_set_reclaimable.
References
- nvd.nist.gov/vuln/detail/CVE-2026-31455 (opens in a new tab)
- git.kernel.org/stable/c/239d734c00644072862fa833805c4471573b1445 (opens in a new tab)
- git.kernel.org/stable/c/4f24a767e3d64a5f58c595b5c29b6063a201f1e3 (opens in a new tab)
- git.kernel.org/stable/c/558e3275d8a3b101be18a7fe7d1634053e9d9b07 (opens in a new tab)
- git.kernel.org/stable/c/8147e304d7d32fd5c3e943babc296ce2873dc279 (opens in a new tab)
- git.kernel.org/stable/c/a89434a6188d8430ea31120da96e3e4cefb58686 (opens in a new tab)
- git.kernel.org/stable/c/bda27fc0b4eb3a425d9a18475c4cb94fbe862c60 (opens in a new tab)
- git.kernel.org/stable/c/d38135af04a3ad8a585c899d176efc8e97853115 (opens in a new tab)
- git.kernel.org/stable/c/e6cc490048f78b009259a5f032acead9f789c34c (opens in a new tab)