<?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>Sun, 04 Oct 2026 23:11:53 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-43404 — mm: Fix a hmm_range_fault() livelock / starvation problem</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-43404</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 a hmm_range_fault() livelock / starvation problem&lt;/p&gt;
&lt;p&gt;If hmm_range_fault() fails a folio_trylock() in do_swap_page,
trying to acquire the lock of a device-private folio for migration,
to ram, the function will spin until it succeeds grabbing the lock.&lt;/p&gt;
&lt;p&gt;However, if the process holding the lock is depending on a work
item to be completed, which is scheduled on the same CPU as the
spinning hmm_range_fault(), that work item might be starved and
we end up in a livelock / starvation situation which is never
resolved.&lt;/p&gt;
&lt;p&gt;This can happen, for example if the process holding the
device-private folio lock is stuck in
   migrate_device_unmap()-&amp;gt;lru_add_drain_all()
sinc lru_add_drain_all() requires a short work-item
to be run on all online cpus to complete.&lt;/p&gt;
&lt;p&gt;A prerequisite for this to happen is:
a) Both zone device and system memory folios are considered in
   migrate_device_unmap(), so that there is a reason to call
   lru_add_drain_all() for a system memory folio while a
   folio lock is held on a zone device folio.
b) The zone device folio has an initial mapcount &amp;gt; 1 which causes
   at least one migration PTE entry insertion to be deferred to
   try_to_migrate(), which can happen after the call to
   lru_add_drain_all().
c) No or voluntary only preemption.&lt;/p&gt;
&lt;p&gt;This all seems pretty unlikely to happen, but indeed is hit by
the &amp;#34;xe_exec_system_allocator&amp;#34; igt test.&lt;/p&gt;
&lt;p&gt;Resolve this by waiting for the folio to be unlocked i…&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 a hmm_range_fault() livelock / starvation problem&lt;/p&gt;
&lt;p&gt;If hmm_range_fault() fails a folio_trylock() in do_swap_page,
trying to acquire the lock of a device-private folio for migration,
to ram, the function will spin until it succeeds grabbing the lock.&lt;/p&gt;
&lt;p&gt;However, if the process holding the lock is depending on a work
item to be completed, which is scheduled on the same CPU as the
spinning hmm_range_fault(), that work item might be starved and
we end up in a livelock / starvation situation which is never
resolved.&lt;/p&gt;
&lt;p&gt;This can happen, for example if the process holding the
device-private folio lock is stuck in
   migrate_device_unmap()-&amp;gt;lru_add_drain_all()
sinc lru_add_drain_all() requires a short work-item
to be run on all online cpus to complete.&lt;/p&gt;
&lt;p&gt;A prerequisite for this to happen is:
a) Both zone device and system memory folios are considered in
   migrate_device_unmap(), so that there is a reason to call
   lru_add_drain_all() for a system memory folio while a
   folio lock is held on a zone device folio.
b) The zone device folio has an initial mapcount &amp;gt; 1 which causes
   at least one migration PTE entry insertion to be deferred to
   try_to_migrate(), which can happen after the call to
   lru_add_drain_all().
c) No or voluntary only preemption.&lt;/p&gt;
&lt;p&gt;This all seems pretty unlikely to happen, but indeed is hit by
the &amp;#34;xe_exec_system_allocator&amp;#34; igt test.&lt;/p&gt;
&lt;p&gt;Resolve this by waiting for the folio to be unlocked i…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-43404</guid>
    </item>
  </channel>
</rss>
