drm/xe: fix error handling in xe_migrate_update_pgtables
BugLink: https://bugs.launchpad.net/bugs/2077600
commit fc932f51926698488f874ddf7d8f18483ca10271 upstream.
Don't call drm_suballoc_free with sa_bo pointing to PTR_ERR.
References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2120
Fixes: dd08ebf6c3 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew 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: Thomas 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 ce6b63336f79ec5f3996de65f452330e395f99ae)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Portia Stephens <portia.stephens@canonical.com>
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
adc5bbf59e
commit
c220bce6a8
@@ -1325,7 +1325,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
|
||||
GFP_KERNEL, true, 0);
|
||||
if (IS_ERR(sa_bo)) {
|
||||
err = PTR_ERR(sa_bo);
|
||||
goto err;
|
||||
goto err_bb;
|
||||
}
|
||||
|
||||
ppgtt_ofs = NUM_KERNEL_PDE +
|
||||
@@ -1376,7 +1376,7 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
|
||||
update_idx);
|
||||
if (IS_ERR(job)) {
|
||||
err = PTR_ERR(job);
|
||||
goto err_bb;
|
||||
goto err_sa;
|
||||
}
|
||||
|
||||
/* Wait on BO move */
|
||||
@@ -1425,12 +1425,12 @@ xe_migrate_update_pgtables(struct xe_migrate *m,
|
||||
|
||||
err_job:
|
||||
xe_sched_job_put(job);
|
||||
err_sa:
|
||||
drm_suballoc_free(sa_bo, NULL);
|
||||
err_bb:
|
||||
if (!q)
|
||||
mutex_unlock(&m->job_mutex);
|
||||
xe_bb_free(bb, NULL);
|
||||
err:
|
||||
drm_suballoc_free(sa_bo, NULL);
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user