CVE-2026-89645: Linux kernel · btrfs: drop recovered reloc root refs on recovery failure
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in 2256d6dc5b88841a8a8b4fd9a9f04730705fb6fd : update Linux kernel when convenient.
Data as of 26 Oct 2026, 13:47 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 13% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2256d6dc5b88841a8a8b4fd9a9f04730705fb6fd, 8a64baeb5bbb706b83d2235c1e39f5b77183817f, 7b8c6af17287899a5d00c70566831feac237d192 +2
Exploitation evidence
Disclosed: evidence found.
CVE published 11 Sep 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.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: drop recovered reloc root refs on recovery failure During relocation recovery, each fs root gets a reference to its relocation root. If loading or adding a later root fails, or if the first transaction commit fails, btrfs_recover_relocation() jumps to out_unset before merge_reloc_roots() and clean_dirty_subvols(). put_reloc_control() drops the list-owned relocation root references, but it does not clear fs_root->reloc_root or drop the references owned by those pointers. Mount cleanup only drops them when BTRFS_FS_ERROR is set, so an error such as -ENOMEM while processing a later root can leave references behind. Keep temporary references to the fs roots associated during recovery. On failure, clear their reloc_root pointers and drop the corresponding references. Once the first transaction commit succeeds, drop only the temporary fs root references and let the normal merge and cleanup paths handle the relocation roots. Fault injection on a pending-relocation image confirmed the cleanup gap. With an injected first-commit failure, 25 fs roots had reloc_root set with fs_error=0. With this fix, the same failure path drops that count to 0 before mount fails.
References
- git.kernel.org/stable/c/7b8c6af17287899a5d00c70566831feac237d192 (opens in a new tab)
- git.kernel.org/stable/c/2256d6dc5b88841a8a8b4fd9a9f04730705fb6fd (opens in a new tab)
- git.kernel.org/stable/c/8a64baeb5bbb706b83d2235c1e39f5b77183817f (opens in a new tab)
- git.kernel.org/stable/c/4d43107e807bcd92621106b07f5011411c6341a8 (opens in a new tab)
- git.kernel.org/stable/c/6d8ba4572922e336f0b59a80751b018e1e135164 (opens in a new tab)