On Thu, 2024-06-20 at 11:20 +0100, Matthew Auld wrote: > Don't call drm_suballoc_free with sa_bo pointing to PTR_ERR. > > References: > https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2120 > Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel > GPUs") > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Cc: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> > Cc: Matthew Brost <matthew.brost@xxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v6.8+ LGTM. Reviewed-by: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/xe/xe_migrate.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_migrate.c > b/drivers/gpu/drm/xe/xe_migrate.c > index 05f933787860..c9f5673353ee 100644 > --- a/drivers/gpu/drm/xe/xe_migrate.c > +++ b/drivers/gpu/drm/xe/xe_migrate.c > @@ -1358,7 +1358,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 + > @@ -1406,7 +1406,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 */ > @@ -1458,10 +1458,10 @@ 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: > xe_bb_free(bb, NULL); > -err: > - drm_suballoc_free(sa_bo, NULL); > return ERR_PTR(err); > } >