diff options
author | Matthew Brost <matthew.brost@intel.com> | 2024-11-05 05:35:24 +0100 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2024-11-06 00:40:12 +0100 |
commit | 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9 (patch) | |
tree | a8061803b19f7616d6fe4e24f282981845c537c3 /drivers | |
parent | drm/xe: Fix possible exec queue leak in exec IOCTL (diff) | |
download | linux-64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9.tar.xz linux-64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9.zip |
drm/xe: Drop VM dma-resv lock on xe_sync_in_fence_get failure in exec IOCTL
Upon failure all locks need to be dropped before returning to the user.
Fixes: 58480c1c912f ("drm/xe: Skip VMAs pin when requesting signal to the last XE_EXEC")
Cc: <stable@vger.kernel.org>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241105043524.4062774-3-matthew.brost@intel.com
(cherry picked from commit 7d1a4258e602ffdce529f56686925034c1b3b095)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/xe/xe_exec.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_exec.c b/drivers/gpu/drm/xe/xe_exec.c index 6de12f91b865..756b492f13b0 100644 --- a/drivers/gpu/drm/xe/xe_exec.c +++ b/drivers/gpu/drm/xe/xe_exec.c @@ -224,6 +224,7 @@ retry: fence = xe_sync_in_fence_get(syncs, num_syncs, q, vm); if (IS_ERR(fence)) { err = PTR_ERR(fence); + xe_vm_unlock(vm); goto err_unlock_list; } for (i = 0; i < num_syncs; i++) |