Commit fc932f51 authored by Matthew Auld's avatar Matthew Auld Committed by Thomas Hellström

drm/xe: fix error handling in xe_migrate_update_pgtables

Don't call drm_suballoc_free with sa_bo pointing to PTR_ERR.

References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2120
Fixes: dd08ebf6 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <stable@vger.kernel.org> # v6.8+
Reviewed-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240620102025.127699-2-matthew.auld@intel.com
(cherry picked from commit ce6b6333)
Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
parent 22a40d14
...@@ -1334,7 +1334,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m, ...@@ -1334,7 +1334,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
GFP_KERNEL, true, 0); GFP_KERNEL, true, 0);
if (IS_ERR(sa_bo)) { if (IS_ERR(sa_bo)) {
err = PTR_ERR(sa_bo); err = PTR_ERR(sa_bo);
goto err; goto err_bb;
} }
ppgtt_ofs = NUM_KERNEL_PDE + ppgtt_ofs = NUM_KERNEL_PDE +
...@@ -1385,7 +1385,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m, ...@@ -1385,7 +1385,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
update_idx); update_idx);
if (IS_ERR(job)) { if (IS_ERR(job)) {
err = PTR_ERR(job); err = PTR_ERR(job);
goto err_bb; goto err_sa;
} }
/* Wait on BO move */ /* Wait on BO move */
...@@ -1434,12 +1434,12 @@ xe_migrate_update_pgtables(struct xe_migrate *m, ...@@ -1434,12 +1434,12 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
err_job: err_job:
xe_sched_job_put(job); xe_sched_job_put(job);
err_sa:
drm_suballoc_free(sa_bo, NULL);
err_bb: err_bb:
if (!q) if (!q)
mutex_unlock(&m->job_mutex); mutex_unlock(&m->job_mutex);
xe_bb_free(bb, NULL); xe_bb_free(bb, NULL);
err:
drm_suballoc_free(sa_bo, NULL);
return ERR_PTR(err); return ERR_PTR(err);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment