]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/xe: fix missing 'xe_vm_put'
authorDafna Hirschfeld <dhirschfeld@habana.ai>
Sun, 1 Sep 2024 04:42:27 +0000 (07:42 +0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 12 Sep 2024 23:04:36 +0000 (18:04 -0500)
Fix memleak caused by missing xe_vm_put

Fixes: 852856e3b6f6 ("drm/xe: Use reserved copy engine for user binds on faulting devices")
Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240901044227.1177211-1-dhirschfeld@habana.ai
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
(cherry picked from commit 249df8cbecf0ab4877eab66cae857748631831a9)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_exec_queue.c

index 5a9cbc97f0bef832176a8428a3a056eaea895f48..7f28b7fc68d58d1a57f21a708450cf26ebd2972f 100644 (file)
@@ -223,8 +223,10 @@ struct xe_exec_queue *xe_exec_queue_create_bind(struct xe_device *xe,
                                                           gt->usm.reserved_bcs_instance,
                                                           false);
 
-               if (!hwe)
+               if (!hwe) {
+                       xe_vm_put(migrate_vm);
                        return ERR_PTR(-EINVAL);
+               }
 
                q = xe_exec_queue_create(xe, migrate_vm,
                                         BIT(hwe->logical_instance), 1, hwe,