ring-buffer: Use current_context for safe per-CPU buffer swap

Summary

CVECVE-2026-74601
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-08-22 16:16:32 UTC
Updated2026-08-23 13:16:46 UTC
DescriptionIn the Linux kernel, the following vulnerability has been resolved: ring-buffer: Use current_context for safe per-CPU buffer swap The ring_buffer_swap_cpu() function currently checks the per-CPU committing counter to determine if a buffer is actively being written to before performing the swap. However, there exists a race window where this check can be bypassed: ring_buffer_lock_reserve cpu_buffer = buffer->buffers[cpu]; // cpu_buffer_a rb_reserve_next_event rb_start_commit // inc committing if (unlikely(READ_ONCE(cpu_buffer->buffer) != buffer)) {...} __rb_reserve_next rb_move_tail rb_end_commit(cpu_buffer); // dec committing => 0 /* interrupt hits here, successfully swaps! */ local_inc(&cpu_buffer->committing); ring_buffer_unlock_commit cpu_buffer = buffer->buffers[cpu]; // cpu_buffer_b rb_commit rb_end_commit RB_WARN_ON(cpu_buffer, !local_read(&cpu_buffer->committing)) // triggers warning The committing counter can temporarily drop to 0 during a single write operation (within rb_move_tail), creating a window where swap can succeed even though the write is still in progress. This leads to inconsistent buffer state and triggers the RB_WARN_ON in rb_commit(). Replace the committing counter check with current_context checks, which are set at the entry of ring_buffer_lock_reserve() and remain valid throughout the entire write operation, providing a reliable indicator of buffer busy state during swap.

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 26662bc8fced1d668fa1aa146eda085bfc67bd0b git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 6b524e6b234e45c7f5f90d13b042c6f57f80105c git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 597f279b7b4a06412e3d965e98cc36e181cdbede git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 22709117d9ae95e52673685f98caac7c356a8227 git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 ad7e10c7ea89af45ac1bf1814855d45da472703d git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 5b926fb04cb9ef3156dcf88c69a59d3d1a1c4f9f git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 5e6e2a18c20e88167d414f666032792e8bf19b80 git Not specified
CNA Linux Linux affected 4239c38fe0b3847e1e6d962c74b41b08ba0e2990 f27bdc43077e4fcb5557dfc315ee8d91e741f483 git Not specified
CNA Linux Linux affected 4.5 Not specified
CNA Linux Linux unaffected 4.5 semver Not specified
CNA Linux Linux unaffected 5.10.266 5.10.* semver Not specified
CNA Linux Linux unaffected 5.15.217 5.15.* semver Not specified
CNA Linux Linux unaffected 6.1.184 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.153 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.105 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.45 6.18.* semver Not specified
CNA Linux Linux unaffected 7.1.9 7.1.* semver Not specified
CNA Linux Linux unaffected 7.2 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/26662bc8fced1d668fa1aa146eda085bfc67bd0b 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/ad7e10c7ea89af45ac1bf1814855d45da472703d 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/f27bdc43077e4fcb5557dfc315ee8d91e741f483 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/5b926fb04cb9ef3156dcf88c69a59d3d1a1c4f9f 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/6b524e6b234e45c7f5f90d13b042c6f57f80105c 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/5e6e2a18c20e88167d414f666032792e8bf19b80 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/597f279b7b4a06412e3d965e98cc36e181cdbede 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/22709117d9ae95e52673685f98caac7c356a8227 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report