{"id":11208,"date":"2026-09-04T18:51:45","date_gmt":"2026-09-04T10:51:45","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74601"},"modified":"2026-09-04T18:51:45","modified_gmt":"2026-09-04T10:51:45","slug":"cve-2026-74601","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74601","title":{"rendered":"CVE-2026-74601 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nring-buffer: Use curr"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ring-buffer: Use current_context for safe per-CPU buffer swap<\/p>\n<p>The ring_buffer_swap_cpu() function currently checks the per-CPU<br \/>\ncommitting counter to determine if a buffer is actively being written to<br \/>\nbefore performing the swap. However, there exists a race window where<br \/>\nthis check can be bypassed:<\/p>\n<p>    ring_buffer_lock_reserve<br \/>\n        cpu_buffer = buffer-&gt;buffers[cpu];       \/\/ cpu_buffer_a<br \/>\n        rb_reserve_next_event<br \/>\n            rb_start_commit \/\/ inc committing<br \/>\n            if (unlikely(READ_ONCE(cpu_buffer-&gt;buffer) != buffer)) {&#8230;}<br \/>\n            __rb_reserve_next<br \/>\n                rb_move_tail<br \/>\n                    rb_end_commit(cpu_buffer);   \/\/ dec committing =&gt; 0<br \/>\n                    \/* interrupt hits here, successfully swaps! *\/<br \/>\n                    local_inc(&amp;cpu_buffer-&gt;committing);<\/p>\n<p>    ring_buffer_unlock_commit<br \/>\n        cpu_buffer = buffer-&gt;buffers[cpu];      \/\/ cpu_buffer_b<br \/>\n        rb_commit<br \/>\n            rb_end_commit<br \/>\n            RB_WARN_ON(cpu_buffer, !local_read(&amp;cpu_buffer-&gt;committing))<br \/>\n                                                \/\/ triggers warning<\/p>\n<p>The committing counter can temporarily drop to 0 during a single write<br \/>\noperation (within rb_move_tail), creating a window where swap can<br \/>\nsucceed even though the write is still in progress. This leads to<br \/>\ninconsistent buffer state and triggers the RB_WARN_ON in rb_commit().<\/p>\n<p>Replace the committing counter check with current_context checks, which<br \/>\nare set at the entry of ring_buffer_lock_reserve() and remain valid<br \/>\nthroughout the entire write operation, providing a reliable indicator of<br \/>\nbuffer busy state during swap.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ring-buffer: Use current_context for safe per-CPU buffer swap<\/p>\n<p>The ring_buffer_swap_cpu() function currently checks the per-CPU<br \/>\ncom<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11208","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11208","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=11208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}