<?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>Thu, 08 Oct 2026 04:52:08 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-23157 — btrfs: do not strictly require dirty metadata threshold for metadata writepages</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-23157</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;btrfs: do not strictly require dirty metadata threshold for metadata writepages&lt;/p&gt;
&lt;p&gt;[BUG]
There is an internal report that over 1000 processes are
waiting at the io_schedule_timeout() of balance_dirty_pages(), causing
a system hang and trigger a kernel coredump.&lt;/p&gt;
&lt;p&gt;The kernel is v6.4 kernel based, but the root problem still applies to
any upstream kernel before v6.18.&lt;/p&gt;
&lt;p&gt;[CAUSE]
From Jan Kara for his wisdom on the dirty page balance behavior first.&lt;/p&gt;
&lt;p&gt;This cgroup dirty limit was what was actually playing the role here
  because the cgroup had only a small amount of memory and so the dirty
  limit for it was something like 16MB.&lt;/p&gt;
&lt;p&gt;Dirty throttling is responsible for enforcing that nobody can dirty
  (significantly) more dirty memory than there&amp;#39;s dirty limit. Thus when
  a task is dirtying pages it periodically enters into balance_dirty_pages()
  and we let it sleep there to slow down the dirtying.&lt;/p&gt;
&lt;p&gt;When the system is over dirty limit already (either globally or within
  a cgroup of the running task), we will not let the task exit from
  balance_dirty_pages() until the number of dirty pages drops below the
  limit.&lt;/p&gt;
&lt;p&gt;So in this particular case, as I already mentioned, there was a cgroup
  with relatively small amount of memory and as a result with dirty limit
  set at 16MB. A task from that cgroup has dirtied about 28MB worth of
  pages in btrfs btree inode and these were practically the only dirty
  pages in th…&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;btrfs: do not strictly require dirty metadata threshold for metadata writepages&lt;/p&gt;
&lt;p&gt;[BUG]
There is an internal report that over 1000 processes are
waiting at the io_schedule_timeout() of balance_dirty_pages(), causing
a system hang and trigger a kernel coredump.&lt;/p&gt;
&lt;p&gt;The kernel is v6.4 kernel based, but the root problem still applies to
any upstream kernel before v6.18.&lt;/p&gt;
&lt;p&gt;[CAUSE]
From Jan Kara for his wisdom on the dirty page balance behavior first.&lt;/p&gt;
&lt;p&gt;This cgroup dirty limit was what was actually playing the role here
  because the cgroup had only a small amount of memory and so the dirty
  limit for it was something like 16MB.&lt;/p&gt;
&lt;p&gt;Dirty throttling is responsible for enforcing that nobody can dirty
  (significantly) more dirty memory than there&amp;#39;s dirty limit. Thus when
  a task is dirtying pages it periodically enters into balance_dirty_pages()
  and we let it sleep there to slow down the dirtying.&lt;/p&gt;
&lt;p&gt;When the system is over dirty limit already (either globally or within
  a cgroup of the running task), we will not let the task exit from
  balance_dirty_pages() until the number of dirty pages drops below the
  limit.&lt;/p&gt;
&lt;p&gt;So in this particular case, as I already mentioned, there was a cgroup
  with relatively small amount of memory and as a result with dirty limit
  set at 16MB. A task from that cgroup has dirtied about 28MB worth of
  pages in btrfs btree inode and these were practically the only dirty
  pages in th…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-23157</guid>
    </item>
  </channel>
</rss>
