<?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>Mon, 28 Sep 2026 23:40:34 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-40199 — page_pool: Fix PP_MAGIC_MASK to avoid crashing on some 32-bit arches</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-40199</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;page_pool: Fix PP_MAGIC_MASK to avoid crashing on some 32-bit arches&lt;/p&gt;
&lt;p&gt;Helge reported that the introduction of PP_MAGIC_MASK let to crashes on
boot on his 32-bit parisc machine. The cause of this is the mask is set
too wide, so the page_pool_page_is_pp() incurs false positives which
crashes the machine.&lt;/p&gt;
&lt;p&gt;Just disabling the check in page_pool_is_pp() will lead to the page_pool
code itself malfunctioning; so instead of doing this, this patch changes
the define for PP_DMA_INDEX_BITS to avoid mistaking arbitrary kernel
pointers for page_pool-tagged pages.&lt;/p&gt;
&lt;p&gt;The fix relies on the kernel pointers that alias with the pp_magic field
always being above PAGE_OFFSET. With this assumption, we can use the
lowest bit of the value of PAGE_OFFSET as the upper bound of the
PP_DMA_INDEX_MASK, which should avoid the false positives.&lt;/p&gt;
&lt;p&gt;Because we cannot rely on PAGE_OFFSET always being a compile-time
constant, nor on it always being &amp;gt;0, we fall back to disabling the
dma_index storage when there are not enough bits available. This leaves
us in the situation we were in before the patch in the Fixes tag, but
only on a subset of architecture configurations. This seems to be the
best we can do until the transition to page types in complete for
page_pool pages.&lt;/p&gt;
&lt;p&gt;v2:
- Make sure there&amp;#39;s at least 8 bits available and that the PAGE_OFFSET
  bit calculation doesn&amp;#39;t wrap&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;page_pool: Fix PP_MAGIC_MASK to avoid crashing on some 32-bit arches&lt;/p&gt;
&lt;p&gt;Helge reported that the introduction of PP_MAGIC_MASK let to crashes on
boot on his 32-bit parisc machine. The cause of this is the mask is set
too wide, so the page_pool_page_is_pp() incurs false positives which
crashes the machine.&lt;/p&gt;
&lt;p&gt;Just disabling the check in page_pool_is_pp() will lead to the page_pool
code itself malfunctioning; so instead of doing this, this patch changes
the define for PP_DMA_INDEX_BITS to avoid mistaking arbitrary kernel
pointers for page_pool-tagged pages.&lt;/p&gt;
&lt;p&gt;The fix relies on the kernel pointers that alias with the pp_magic field
always being above PAGE_OFFSET. With this assumption, we can use the
lowest bit of the value of PAGE_OFFSET as the upper bound of the
PP_DMA_INDEX_MASK, which should avoid the false positives.&lt;/p&gt;
&lt;p&gt;Because we cannot rely on PAGE_OFFSET always being a compile-time
constant, nor on it always being &amp;gt;0, we fall back to disabling the
dma_index storage when there are not enough bits available. This leaves
us in the situation we were in before the patch in the Fixes tag, but
only on a subset of architecture configurations. This seems to be the
best we can do until the transition to page types in complete for
page_pool pages.&lt;/p&gt;
&lt;p&gt;v2:
- Make sure there&amp;#39;s at least 8 bits available and that the PAGE_OFFSET
  bit calculation doesn&amp;#39;t wrap&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-40199</guid>
    </item>
  </channel>
</rss>
