<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T11:15:42.285519+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2024-49873</id>
    <title>CVE-2024-49873 — mm/filemap: fix filemap_get_folios_contig THP panic</title>
    <updated>2026-10-02T11:15:43.157501+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>mm/filemap: fix filemap_get_folios_contig THP panic</p>
<p>Patch series "memfd-pin huge page fixes".</p>
<p>Fix multiple bugs that occur when using memfd_pin_folios with hugetlb
pages and THP.  The hugetlb bugs only bite when the page is not yet
faulted in when memfd_pin_folios is called.  The THP bug bites when the
starting offset passed to memfd_pin_folios is not huge page aligned.  See
the commit messages for details.</p>
<p>This patch (of 5):</p>
<p>memfd_pin_folios on memory backed by THP panics if the requested start
offset is not huge page aligned:</p>
<p>BUG: kernel NULL pointer dereference, address: 0000000000000036
RIP: 0010:filemap_get_folios_contig+0xdf/0x290
RSP: 0018:ffffc9002092fbe8 EFLAGS: 00010202
RAX: 0000000000000002 RBX: 0000000000000002 RCX: 0000000000000002</p>
<p>The fault occurs here, because xas_load returns a folio with value 2:</p>
<p>filemap_get_folios_contig()
        for (folio = xas_load(&amp;xas); folio &amp;&amp; xas.xa_index &lt;= end;
                        folio = xas_next(&amp;xas)) {
                ...
                if (!folio_try_get(folio))   &lt;-- BOOM</p>
<p>"2" is an xarray sibling entry.  We get it because memfd_pin_folios does
not round the indices passed to filemap_get_folios_contig to huge page
boundaries for THP, so we load from the middle of a huge page range see a
sibling.  (It does round for hugetlbfs, at the is_file_hugepages test).</p>
<p>To fix, if the folio is a sibling, then return the next index as the
starting poin…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2024-49873"/>
  </entry>
</feed>
