{"id":25670,"date":"2026-09-18T04:31:43","date_gmt":"2026-09-17T20:31:43","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90261"},"modified":"2026-09-18T04:31:43","modified_gmt":"2026-09-17T20:31:43","slug":"cve-2026-90261","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90261","title":{"rendered":"CVE-2026-90261 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: zoned: flush a"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>btrfs: zoned: flush active metadata block group at btree_writepages() start<\/p>\n<p>btree_writepages() writes the btree inode&#8217;s dirty metadata in ascending<br \/>\nlogical address order. On a zoned filesystem only one metadata and one<br \/>\nsystem block group is active for writing at a time, and<br \/>\ncheck_bg_is_active() (via btrfs_check_meta_write_pointer()) pivots the<br \/>\nactive block group as writeback moves from one block group to the next.<\/p>\n<p>If the active block group sits at a higher logical address than another<br \/>\nblock group that also holds dirty metadata, the ascending walk reaches<br \/>\nthe lower one first and, to write it, has to finish the active block<br \/>\ngroup and activate the lower one. It cannot finish a block group that<br \/>\nstill has unsent IO, and during WB_SYNC_ALL &amp;&amp; !for_sync (commit)<br \/>\nwriteback it deliberately refuses to wait for that IO under<br \/>\nfs_info-&gt;zoned_meta_io_lock, as that can deadlock. The pivot thus cannot<br \/>\nissue the submission itself either, so it gives up:<br \/>\nbtrfs_check_meta_write_pointer() returns -EAGAIN, which<br \/>\nbtrfs_write_and_wait_transaction() treats as fatal and aborts the<br \/>\ntransaction, forcing the filesystem read-only. This happens<br \/>\nintermittently under metadata-heavy relocation (e.g. fstests btrfs\/187).<\/p>\n<p>Flush the active metadata and system block groups at the start of<br \/>\nbtree_writepages(), under the fs_info-&gt;zoned_meta_io_lock it already<br \/>\nholds, so they have no unsent IO left and the later pivot can finish<br \/>\nthem and make forward progress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>btrfs: zoned: flush active metadata block group at btree_writepages() start<\/p>\n<p>btree_writepages() writes the btree inode&#8217;s dirty meta<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25670","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}