{"id":15049,"date":"2026-09-04T19:02:23","date_gmt":"2026-09-04T11:02:23","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64067"},"modified":"2026-09-04T19:02:23","modified_gmt":"2026-09-04T11:02:23","slug":"cve-2026-64067","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64067","title":{"rendered":"CVE-2026-64067 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Fix missing ba"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfs: Fix missing barriers when accessing stream-&gt;subrequests locklessly<\/p>\n<p>The list of subrequests attached to stream-&gt;subrequests is accessed without<br \/>\nlocks by netfs_collect_read_results() and netfs_collect_write_results(),<br \/>\nand then they access subreq-&gt;flags without taking a barrier after getting<br \/>\nthe subreq pointer from the list.  Relatedly, the functions that build the<br \/>\nlist don&#8217;t use any sort of write barrier when constructing the list to make<br \/>\nsure that the NETFS_SREQ_IN_PROGRESS flag is perceived to be set first if<br \/>\nno lock is taken.<\/p>\n<p>Fix this by:<\/p>\n<p> (1) Add a new list_add_tail_release() function that uses a release barrier<br \/>\n     to set the pointer to the new member of the list.<\/p>\n<p> (2) Add a new list_first_entry_or_null_acquire() function that uses an<br \/>\n     acquire barrier to read the pointer to the first member in a list (or<br \/>\n     return NULL).<\/p>\n<p> (3) Use list_add_tail_release() when adding a subreq to -&gt;subrequests.<\/p>\n<p> (4) Use list_first_entry_or_null_acquire() when initially accessing the<br \/>\n     front of the list (when an item is removed, the pointer to the new<br \/>\n     front iterm is obtained under the same lock).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfs: Fix missing barriers when accessing stream-&gt;subrequests locklessly<\/p>\n<p>The list of subrequests attached to stream-&gt;subrequests <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15049","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15049","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=15049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}