Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix reloc root cleanup in merge_reloc_roots() If the root we got has zero root refs in its root item, we are resetting the root's ->reloc_root without using barriers like we do everywhere else. Sashiko complained about this while reviewing another patch, and it's correct (see the Link tag below). Also, we should not clear BTRFS_ROOT_DEAD_RELOC_TREE from the root unless the root points to the reloc root we have. Fix this by using clear_reloc_root(), which issues the memory barrier after setting the root's ->reloc_root to NULL and before clearing the bit BTRFS_ROOT_DEAD_RELOC_TREE from the root.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < 29531470b1bf1e8bd2df4941fe913106edbca615affected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < 415f8665a969d3c906e4fd7c90fcbb4b357886f6affected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < ee695a968aa73b1e67ccbf2133dc0e54381d32b2affected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < 0bc25f0a2d1b3e0a691431c4d7aef36afcd527c5affected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < ab48583aa9948205ff9a6470e23dbff74c565e24affected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < 63d6b1f04cd91c825329712aa526215ffa5d11caaffected1dae7e0e58b484eaa43d530f211098fdeeb0f404 to < b78fe9563e2d5ae47805f1e5dc722c91fd30e1f8affectedee08663380ffd5a45a1c87580fbc305e8413c235affected33823378ff2b510fd7b566f25bb18438aeb9b23baffected5.4.54 to < 5.5affected5.7.11 to < 5.8affected
Linux Linux
Default version status: affected
5.8affected0 to < 5.8unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/29531470b1bf1e8bd2df4941fe913106edbca615 ↗
- https://git.kernel.org/stable/c/415f8665a969d3c906e4fd7c90fcbb4b357886f6 ↗
- https://git.kernel.org/stable/c/ee695a968aa73b1e67ccbf2133dc0e54381d32b2 ↗
- https://git.kernel.org/stable/c/0bc25f0a2d1b3e0a691431c4d7aef36afcd527c5 ↗
- https://git.kernel.org/stable/c/ab48583aa9948205ff9a6470e23dbff74c565e24 ↗
- https://git.kernel.org/stable/c/63d6b1f04cd91c825329712aa526215ffa5d11ca ↗
- https://git.kernel.org/stable/c/b78fe9563e2d5ae47805f1e5dc722c91fd30e1f8 ↗