<?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, 01 Oct 2026 19:59:48 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-42149 — fs: don't misleadingly warn during thaw operations</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-42149</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;fs: don&amp;#39;t misleadingly warn during thaw operations&lt;/p&gt;
&lt;p&gt;The block device may have been frozen before it was claimed by a
filesystem. Concurrently another process might try to mount that
frozen block device and has temporarily claimed the block device for
that purpose causing a concurrent fs_bdev_thaw() to end up here. The
mounter is already about to abort mounting because they still saw an
elevanted bdev-&amp;gt;bd_fsfreeze_count so get_bdev_super() will return
NULL in that case.&lt;/p&gt;
&lt;p&gt;For example, P1 calls dm_suspend() which calls into bdev_freeze() before
the block device has been claimed by the filesystem. This brings
bdev-&amp;gt;bd_fsfreeze_count to 1 and no call into fs_bdev_freeze() is
required.&lt;/p&gt;
&lt;p&gt;Now P2 tries to mount that frozen block device. It claims it and checks
bdev-&amp;gt;bd_fsfreeze_count. As it&amp;#39;s elevated it aborts mounting.&lt;/p&gt;
&lt;p&gt;In the meantime P3 called dm_resume(). P3 sees that the block device is
already claimed by a filesystem and calls into fs_bdev_thaw().&lt;/p&gt;
&lt;p&gt;P3 takes a passive reference and realizes that the filesystem isn&amp;#39;t
ready yet. P3 puts itself to sleep to wait for the filesystem to become
ready.&lt;/p&gt;
&lt;p&gt;P2 now puts the last active reference to the filesystem and marks it as
dying. P3 gets woken, sees that the filesystem is dying and
get_bdev_super() fails.&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;fs: don&amp;#39;t misleadingly warn during thaw operations&lt;/p&gt;
&lt;p&gt;The block device may have been frozen before it was claimed by a
filesystem. Concurrently another process might try to mount that
frozen block device and has temporarily claimed the block device for
that purpose causing a concurrent fs_bdev_thaw() to end up here. The
mounter is already about to abort mounting because they still saw an
elevanted bdev-&amp;gt;bd_fsfreeze_count so get_bdev_super() will return
NULL in that case.&lt;/p&gt;
&lt;p&gt;For example, P1 calls dm_suspend() which calls into bdev_freeze() before
the block device has been claimed by the filesystem. This brings
bdev-&amp;gt;bd_fsfreeze_count to 1 and no call into fs_bdev_freeze() is
required.&lt;/p&gt;
&lt;p&gt;Now P2 tries to mount that frozen block device. It claims it and checks
bdev-&amp;gt;bd_fsfreeze_count. As it&amp;#39;s elevated it aborts mounting.&lt;/p&gt;
&lt;p&gt;In the meantime P3 called dm_resume(). P3 sees that the block device is
already claimed by a filesystem and calls into fs_bdev_thaw().&lt;/p&gt;
&lt;p&gt;P3 takes a passive reference and realizes that the filesystem isn&amp;#39;t
ready yet. P3 puts itself to sleep to wait for the filesystem to become
ready.&lt;/p&gt;
&lt;p&gt;P2 now puts the last active reference to the filesystem and marks it as
dying. P3 gets woken, sees that the filesystem is dying and
get_bdev_super() fails.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-42149</guid>
    </item>
  </channel>
</rss>
