{"id":5416,"date":"2026-09-04T18:47:49","date_gmt":"2026-09-04T10:47:49","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68298"},"modified":"2026-09-04T18:47:49","modified_gmt":"2026-09-04T10:47:49","slug":"cve-2026-68298","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68298","title":{"rendered":"CVE-2026-68298 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ndrm\/xe\/vm: Fix SVM le"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/xe\/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()<\/p>\n<p>Commit 9e9787414882 (&#8220;drm\/xe\/userptr: replace xe_hmm with gpusvm&#8221;) made<br \/>\nxe_svm_init() unconditional in xe_vm_create() and extended it to also<br \/>\ninitialize a &#8220;simple&#8221; gpusvm state for non-fault-mode VMs. The matching<br \/>\nxe_svm_fini() call in xe_vm_close_and_put() was updated to run<br \/>\nunconditionally, but the error unwind path in xe_vm_create() was not.<\/p>\n<p>On the drm_gpuvm_resv_object_alloc() failure path, xe_svm_init() has<br \/>\nalready succeeded but xe_svm_fini() is only called when<br \/>\nXE_VM_FLAG_FAULT_MODE is set. For non-fault-mode VMs this leaves<br \/>\nvm-&gt;svm.gpusvm partially initialized and leaks the resources allocated<br \/>\nby drm_gpusvm_init().<\/p>\n<p>For fault-mode VMs, xe_svm_init() additionally acquires the pagemap<br \/>\nowner via drm_pagemap_acquire_owner() and the pagemaps via<br \/>\nxe_svm_get_pagemaps(). Those resources are released by xe_svm_close(),<br \/>\nnot xe_svm_fini(). On the same error path, xe_svm_close() is not<br \/>\ncalled either, so fault-mode VMs leak the pagemap owner and pagemaps.<\/p>\n<p>Fix both leaks:<\/p>\n<p>&#8211; Call xe_svm_fini() unconditionally on the err_svm_fini path, matching<br \/>\n  the unconditional xe_svm_init() call. Move the vm-&gt;size = 0<br \/>\n  assignment out of the conditional so the xe_vm_is_closed() assert in<br \/>\n  xe_svm_fini() (and xe_svm_close()) holds for both modes.<\/p>\n<p>&#8211; Call xe_svm_close() for fault-mode VMs before xe_svm_fini(), matching<br \/>\n  the ordering used in xe_vm_close_and_put().<\/p>\n<p>(cherry picked from commit ca2a3587d577ba764e0fe628fb676244fc33ddd4)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/xe\/vm: Fix SVM leak on resv obj alloc failure in xe_vm_create()<\/p>\n<p>Commit 9e9787414882 (&#8220;drm\/xe\/userptr: replace xe_hmm with gpus<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-5416","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/5416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}