<?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 00:30:45 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-64181 — mm: fix __vm_normal_page() to handle missing support for pmd_special()/pud_special()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-64181</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;mm: fix __vm_normal_page() to handle missing support for pmd_special()/pud_special()&lt;/p&gt;
&lt;p&gt;On x86 32-bit with THP enabled, zap_huge_pmd() is seen to generate a
&amp;#34;WARNING: mm/memory.c:735 at __vm_normal_page+0x6a/0x7d&amp;#34;, from the
VM_WARN_ON_ONCE(is_zero_pfn(pfn) || is_huge_zero_pfn(pfn)); followed by
&amp;#34;BUG: Bad rss-counter state&amp;#34;s, then later &amp;#34;BUG: Bad page state&amp;#34;s when
reclaim gets to call shrink_huge_zero_folio_scan().&lt;/p&gt;
&lt;p&gt;It&amp;#39;s as if the _PAGE_SPECIAL bit never got set in the huge_zero pmd: and
indeed, whereas pte_special() and pte_mkspecial() are subject to a
dedicated CONFIG_ARCH_HAS_PTE_SPECIAL, pmd_special() and pmd_mkspecial()
are subject to CONFIG_ARCH_SUPPORTS_PMD_PFNMAP, which is never enabled on
any 32-bit architecture.&lt;/p&gt;
&lt;p&gt;While the problem was exposed through commit d80a9cb1a64a
(&amp;#34;mm/huge_memory: add and use normal_or_softleaf_folio_pmd()&amp;#34;), it was an
oversight in commit af38538801c6 (&amp;#34;mm/memory: factor out common code from
vm_normal_page_*()&amp;#34;) and would result in other problems:
* huge zero folio accounted in smaps, pagemap (PAGE_IS_FILE) and
  numamaps as file-backed THP
* folio_walk_start() returning the folio even without FW_ZEROPAGE set.
  Callers seem to tolerate that, though.&lt;/p&gt;
&lt;p&gt;... and triggering the VM_WARN_ON_ONE(), although never reported so far.&lt;/p&gt;
&lt;p&gt;To fix it, teach vm_normal_page_pmd()/vm_normal_page_pud() to consider
whether pmd_special/pud_special is actually implemented.&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;mm: fix __vm_normal_page() to handle missing support for pmd_special()/pud_special()&lt;/p&gt;
&lt;p&gt;On x86 32-bit with THP enabled, zap_huge_pmd() is seen to generate a
&amp;#34;WARNING: mm/memory.c:735 at __vm_normal_page+0x6a/0x7d&amp;#34;, from the
VM_WARN_ON_ONCE(is_zero_pfn(pfn) || is_huge_zero_pfn(pfn)); followed by
&amp;#34;BUG: Bad rss-counter state&amp;#34;s, then later &amp;#34;BUG: Bad page state&amp;#34;s when
reclaim gets to call shrink_huge_zero_folio_scan().&lt;/p&gt;
&lt;p&gt;It&amp;#39;s as if the _PAGE_SPECIAL bit never got set in the huge_zero pmd: and
indeed, whereas pte_special() and pte_mkspecial() are subject to a
dedicated CONFIG_ARCH_HAS_PTE_SPECIAL, pmd_special() and pmd_mkspecial()
are subject to CONFIG_ARCH_SUPPORTS_PMD_PFNMAP, which is never enabled on
any 32-bit architecture.&lt;/p&gt;
&lt;p&gt;While the problem was exposed through commit d80a9cb1a64a
(&amp;#34;mm/huge_memory: add and use normal_or_softleaf_folio_pmd()&amp;#34;), it was an
oversight in commit af38538801c6 (&amp;#34;mm/memory: factor out common code from
vm_normal_page_*()&amp;#34;) and would result in other problems:
* huge zero folio accounted in smaps, pagemap (PAGE_IS_FILE) and
  numamaps as file-backed THP
* folio_walk_start() returning the folio even without FW_ZEROPAGE set.
  Callers seem to tolerate that, though.&lt;/p&gt;
&lt;p&gt;... and triggering the VM_WARN_ON_ONE(), although never reported so far.&lt;/p&gt;
&lt;p&gt;To fix it, teach vm_normal_page_pmd()/vm_normal_page_pud() to consider
whether pmd_special/pud_special is actually implemented.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-64181</guid>
    </item>
  </channel>
</rss>
