CVE-2026-74601

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

HIGH
7.8
CVSS Score
Published: August 22, 2026 at 03:31 PM UTC
Updated: October 16, 2026 at 08:17 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%
SSVC
No known exploit

Description

In 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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.54239c38fe0b3847e1e6d962c74b41b08ba0e2990
Vendor states this is fixed in 22709117d9ae95e52673685f98caac7c356a8227 (fixed)
Vendor states this is fixed in 26662bc8fced1d668fa1aa146eda085bfc67bd0b (fixed)
Vendor states this is fixed in 597f279b7b4a06412e3d965e98cc36e181cdbede (fixed)
Vendor states this is fixed in 5b926fb04cb9ef3156dcf88c69a59d3d1a1c4f9f (fixed)
Vendor states this is fixed in 5e6e2a18c20e88167d414f666032792e8bf19b80 (fixed)
Vendor states this is fixed in 6b524e6b234e45c7f5f90d13b042c6f57f80105c (fixed)
Vendor states this is fixed in ad7e10c7ea89af45ac1bf1814855d45da472703d (fixed)
Vendor states this is fixed in f27bdc43077e4fcb5557dfc315ee8d91e741f483 (fixed)
Vendor states this is fixed in 4.5 (unaffected)
Vendor states this is fixed in 5.10.266 (unaffected)
Vendor states this is fixed in 5.15.217 (unaffected)
Vendor states this is fixed in 6.1.184 (unaffected)
Vendor states this is fixed in 6.12.105 (unaffected)
Vendor states this is fixed in 6.18.45 (unaffected)
Vendor states this is fixed in 6.6.153 (unaffected)
Vendor states this is fixed in 7.1.9 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card