<?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>Tue, 29 Sep 2026 22:57:52 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-89828 — drm/amdgpu: Fix init ordering in amdgpu_vram_mgr_init()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-89828</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;drm/amdgpu: Fix init ordering in amdgpu_vram_mgr_init()&lt;/p&gt;
&lt;p&gt;drmm_cgroup_register_region() is called before INIT_LIST_HEAD() and
gpu_buddy_init() in amdgpu_vram_mgr_init(). If it fails, the function
returns early and bypasses those initializations.&lt;/p&gt;
&lt;p&gt;Since adev-&amp;gt;mman.initialized is set to true before amdgpu_vram_mgr_init()
is called, a failure triggers amdgpu_ttm_fini(), which calls
amdgpu_vram_mgr_fini(), which then:&lt;/p&gt;
&lt;p&gt;- Calls list_for_each_entry_safe() on reservations_pending and
   reserved_pages, whose list_head::next pointers are zero-initialized
   (NULL). The loop does not recognize them as empty and dereferences NULL.&lt;/p&gt;
&lt;p&gt;- Calls gpu_buddy_fini(), which iterates free_trees[] unconditionally
   via for_each_free_tree(). Since mm-&amp;gt;free_trees is NULL
   (never allocated), this dereferences NULL.&lt;/p&gt;
&lt;p&gt;Both result in a kernel panic on the module load error path.&lt;/p&gt;
&lt;p&gt;Fix by moving drmm_cgroup_register_region() to after the list and buddy
allocator are fully initialized, so the teardown path is safe to run.&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;drm/amdgpu: Fix init ordering in amdgpu_vram_mgr_init()&lt;/p&gt;
&lt;p&gt;drmm_cgroup_register_region() is called before INIT_LIST_HEAD() and
gpu_buddy_init() in amdgpu_vram_mgr_init(). If it fails, the function
returns early and bypasses those initializations.&lt;/p&gt;
&lt;p&gt;Since adev-&amp;gt;mman.initialized is set to true before amdgpu_vram_mgr_init()
is called, a failure triggers amdgpu_ttm_fini(), which calls
amdgpu_vram_mgr_fini(), which then:&lt;/p&gt;
&lt;p&gt;- Calls list_for_each_entry_safe() on reservations_pending and
   reserved_pages, whose list_head::next pointers are zero-initialized
   (NULL). The loop does not recognize them as empty and dereferences NULL.&lt;/p&gt;
&lt;p&gt;- Calls gpu_buddy_fini(), which iterates free_trees[] unconditionally
   via for_each_free_tree(). Since mm-&amp;gt;free_trees is NULL
   (never allocated), this dereferences NULL.&lt;/p&gt;
&lt;p&gt;Both result in a kernel panic on the module load error path.&lt;/p&gt;
&lt;p&gt;Fix by moving drmm_cgroup_register_region() to after the list and buddy
allocator are fully initialized, so the teardown path is safe to run.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-89828</guid>
    </item>
  </channel>
</rss>
