<?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>Wed, 30 Sep 2026 13:02:17 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-68298 — drm/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-68298</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/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()&lt;/p&gt;
&lt;p&gt;Commit 9e9787414882 (&amp;#34;drm/xe/userptr: replace xe_hmm with gpusvm&amp;#34;) made
xe_svm_init() unconditional in xe_vm_create() and extended it to also
initialize a &amp;#34;simple&amp;#34; gpusvm state for non-fault-mode VMs. The matching
xe_svm_fini() call in xe_vm_close_and_put() was updated to run
unconditionally, but the error unwind path in xe_vm_create() was not.&lt;/p&gt;
&lt;p&gt;On the drm_gpuvm_resv_object_alloc() failure path, xe_svm_init() has
already succeeded but xe_svm_fini() is only called when
XE_VM_FLAG_FAULT_MODE is set. For non-fault-mode VMs this leaves
vm-&amp;gt;svm.gpusvm partially initialized and leaks the resources allocated
by drm_gpusvm_init().&lt;/p&gt;
&lt;p&gt;For fault-mode VMs, xe_svm_init() additionally acquires the pagemap
owner via drm_pagemap_acquire_owner() and the pagemaps via
xe_svm_get_pagemaps(). Those resources are released by xe_svm_close(),
not xe_svm_fini(). On the same error path, xe_svm_close() is not
called either, so fault-mode VMs leak the pagemap owner and pagemaps.&lt;/p&gt;
&lt;p&gt;Fix both leaks:&lt;/p&gt;
&lt;p&gt;- Call xe_svm_fini() unconditionally on the err_svm_fini path, matching
  the unconditional xe_svm_init() call. Move the vm-&amp;gt;size = 0
  assignment out of the conditional so the xe_vm_is_closed() assert in
  xe_svm_fini() (and xe_svm_close()) holds for both modes.&lt;/p&gt;
&lt;p&gt;- Call xe_svm_close() for fault-mode VMs before xe_svm_fini(), matching
  the ordering used in xe_vm_close_and_pu…&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/xe/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()&lt;/p&gt;
&lt;p&gt;Commit 9e9787414882 (&amp;#34;drm/xe/userptr: replace xe_hmm with gpusvm&amp;#34;) made
xe_svm_init() unconditional in xe_vm_create() and extended it to also
initialize a &amp;#34;simple&amp;#34; gpusvm state for non-fault-mode VMs. The matching
xe_svm_fini() call in xe_vm_close_and_put() was updated to run
unconditionally, but the error unwind path in xe_vm_create() was not.&lt;/p&gt;
&lt;p&gt;On the drm_gpuvm_resv_object_alloc() failure path, xe_svm_init() has
already succeeded but xe_svm_fini() is only called when
XE_VM_FLAG_FAULT_MODE is set. For non-fault-mode VMs this leaves
vm-&amp;gt;svm.gpusvm partially initialized and leaks the resources allocated
by drm_gpusvm_init().&lt;/p&gt;
&lt;p&gt;For fault-mode VMs, xe_svm_init() additionally acquires the pagemap
owner via drm_pagemap_acquire_owner() and the pagemaps via
xe_svm_get_pagemaps(). Those resources are released by xe_svm_close(),
not xe_svm_fini(). On the same error path, xe_svm_close() is not
called either, so fault-mode VMs leak the pagemap owner and pagemaps.&lt;/p&gt;
&lt;p&gt;Fix both leaks:&lt;/p&gt;
&lt;p&gt;- Call xe_svm_fini() unconditionally on the err_svm_fini path, matching
  the unconditional xe_svm_init() call. Move the vm-&amp;gt;size = 0
  assignment out of the conditional so the xe_vm_is_closed() assert in
  xe_svm_fini() (and xe_svm_close()) holds for both modes.&lt;/p&gt;
&lt;p&gt;- Call xe_svm_close() for fault-mode VMs before xe_svm_fini(), matching
  the ordering used in xe_vm_close_and_pu…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-68298</guid>
    </item>
  </channel>
</rss>
