← Back to CVE List
CVE-2026-90262NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
btrfs: retry verity reads for not-uptodate Merkle folios
btrfs_read_merkle_tree_page() can find a folio in the mapping that is not
uptodate. After taking the folio lock, the current code treats that state
as a read error and returns -EIO.
That can make a previous transient read failure sticky. If the failed read
left a not-uptodate folio in the mapping, later callers find that folio and
fail instead of retrying the read.
Keep the existing page-cache insertion and locking order, but retry the
Merkle item read when a not-uptodate folio is found in the mapping. Also
unlock the folio when read_key_bytes() fails so that a later caller can
lock it and retry the read.
btrfs: retry verity reads for not-uptodate Merkle folios
btrfs_read_merkle_tree_page() can find a folio in the mapping that is not
uptodate. After taking the folio lock, the current code treats that state
as a read error and returns -EIO.
That can make a previous transient read failure sticky. If the failed read
left a not-uptodate folio in the mapping, later callers find that folio and
fail instead of retrying the read.
Keep the existing page-cache insertion and locking order, but retry the
Merkle item read when a not-uptodate folio is found in the mapping. Also
unlock the folio when read_key_bytes() fails so that a later caller can
lock it and retry the read.
Affected & Patched Versions
- Linux Linux >= 06ed09351b67eb1114ae106a87a0ee3ea9adb3db and < 90e9eae1b5907fa36620ffb7f4f1a4afa9333427
- Linux Linux >= 06ed09351b67eb1114ae106a87a0ee3ea9adb3db and < c1fa005cdf3b7ff14cdfd7d512830088a3fc256b
- Linux Linux >= 06ed09351b67eb1114ae106a87a0ee3ea9adb3db and < 12b6d1a1715cbced2e445ca353f9c9987b8636e2
- Linux Linux >= 06ed09351b67eb1114ae106a87a0ee3ea9adb3db and < 81241f734f0f662378f5ffc53882b012923e6fe5
- Linux Linux >= 06ed09351b67eb1114ae106a87a0ee3ea9adb3db and < 8cc569696dac51fc62bb39b3b8f530582b916d29
- Linux Linux >= 6.6
- Linux Linux 90e9eae1b5907fa36620ffb7f4f1a4afa9333427
- Linux Linux c1fa005cdf3b7ff14cdfd7d512830088a3fc256b
- Linux Linux 12b6d1a1715cbced2e445ca353f9c9987b8636e2
- Linux Linux 81241f734f0f662378f5ffc53882b012923e6fe5
- Linux Linux 8cc569696dac51fc62bb39b3b8f530582b916d29
External References
- https://git.kernel.org/stable/c/90e9eae1b5907fa36620ffb7f4f1a4afa9333427
- https://git.kernel.org/stable/c/c1fa005cdf3b7ff14cdfd7d512830088a3fc256b
- https://git.kernel.org/stable/c/12b6d1a1715cbced2e445ca353f9c9987b8636e2
- https://git.kernel.org/stable/c/81241f734f0f662378f5ffc53882b012923e6fe5
- https://git.kernel.org/stable/c/8cc569696dac51fc62bb39b3b8f530582b916d29