<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 18:56:38 +0000</lastBuildDate>
    <item>
      <title>CVE-2023-53368 — tracing: Fix race issue between cpu buffer write and swap</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-53368</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tracing: Fix race issue between cpu buffer write and swap&lt;/p&gt;
&lt;p&gt;Warning happened in rb_end_commit() at code:
	if (RB_WARN_ON(cpu_buffer, !local_read(&amp;amp;cpu_buffer-&amp;gt;committing)))&lt;/p&gt;
&lt;p&gt;WARNING: CPU: 0 PID: 139 at kernel/trace/ring_buffer.c:3142
	rb_commit+0x402/0x4a0
  Call Trace:
   ring_buffer_unlock_commit+0x42/0x250
   trace_buffer_unlock_commit_regs+0x3b/0x250
   trace_event_buffer_commit+0xe5/0x440
   trace_event_buffer_reserve+0x11c/0x150
   trace_event_raw_event_sched_switch+0x23c/0x2c0
   __traceiter_sched_switch+0x59/0x80
   __schedule+0x72b/0x1580
   schedule+0x92/0x120
   worker_thread+0xa0/0x6f0&lt;/p&gt;
&lt;p&gt;It is because the race between writing event into cpu buffer and swapping
cpu buffer through file per_cpu/cpu0/snapshot:&lt;/p&gt;
&lt;p&gt;Write on CPU 0             Swap buffer by per_cpu/cpu0/snapshot on CPU 1
  --------                   --------
                             tracing_snapshot_write()
                               [...]&lt;/p&gt;
&lt;p&gt;ring_buffer_lock_reserve()
    cpu_buffer = buffer-&amp;gt;buffers[cpu]; // 1. Suppose find &amp;#39;cpu_buffer_a&amp;#39;;
    [...]
    rb_reserve_next_event()
      [...]&lt;/p&gt;
&lt;p&gt;ring_buffer_swap_cpu()
                                 if (local_read(&amp;amp;cpu_buffer_a-&amp;gt;committing))
                                     goto out_dec;
                                 if (local_read(&amp;amp;cpu_buffer_b-&amp;gt;committing))
                                     goto out_dec;
                                 bu…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;tracing: Fix race issue between cpu buffer write and swap&lt;/p&gt;
&lt;p&gt;Warning happened in rb_end_commit() at code:
	if (RB_WARN_ON(cpu_buffer, !local_read(&amp;amp;cpu_buffer-&amp;gt;committing)))&lt;/p&gt;
&lt;p&gt;WARNING: CPU: 0 PID: 139 at kernel/trace/ring_buffer.c:3142
	rb_commit+0x402/0x4a0
  Call Trace:
   ring_buffer_unlock_commit+0x42/0x250
   trace_buffer_unlock_commit_regs+0x3b/0x250
   trace_event_buffer_commit+0xe5/0x440
   trace_event_buffer_reserve+0x11c/0x150
   trace_event_raw_event_sched_switch+0x23c/0x2c0
   __traceiter_sched_switch+0x59/0x80
   __schedule+0x72b/0x1580
   schedule+0x92/0x120
   worker_thread+0xa0/0x6f0&lt;/p&gt;
&lt;p&gt;It is because the race between writing event into cpu buffer and swapping
cpu buffer through file per_cpu/cpu0/snapshot:&lt;/p&gt;
&lt;p&gt;Write on CPU 0             Swap buffer by per_cpu/cpu0/snapshot on CPU 1
  --------                   --------
                             tracing_snapshot_write()
                               [...]&lt;/p&gt;
&lt;p&gt;ring_buffer_lock_reserve()
    cpu_buffer = buffer-&amp;gt;buffers[cpu]; // 1. Suppose find &amp;#39;cpu_buffer_a&amp;#39;;
    [...]
    rb_reserve_next_event()
      [...]&lt;/p&gt;
&lt;p&gt;ring_buffer_swap_cpu()
                                 if (local_read(&amp;amp;cpu_buffer_a-&amp;gt;committing))
                                     goto out_dec;
                                 if (local_read(&amp;amp;cpu_buffer_b-&amp;gt;committing))
                                     goto out_dec;
                                 bu…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-53368</guid>
    </item>
  </channel>
</rss>
