mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
drm/xe/vm: Clear the scratch_pt pointer on error
Avoid triggering a dereference of an error pointer on cleanup in
xe_vm_free_scratch() by clearing any scratch_pt error pointer.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Fixes: 06951c2ee7 ("drm/xe: Use NULL PTEs as scratch PTEs")
Cc: Brian Welty <brian.welty@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: <stable@vger.kernel.org> # v6.8+
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250821143045.106005-4-thomas.hellstrom@linux.intel.com
This commit is contained in:
parent
b5dd1505a3
commit
358ee50ab5
|
|
@ -1635,8 +1635,12 @@ static int xe_vm_create_scratch(struct xe_device *xe, struct xe_tile *tile,
|
|||
|
||||
for (i = MAX_HUGEPTE_LEVEL; i < vm->pt_root[id]->level; i++) {
|
||||
vm->scratch_pt[id][i] = xe_pt_create(vm, tile, i);
|
||||
if (IS_ERR(vm->scratch_pt[id][i]))
|
||||
return PTR_ERR(vm->scratch_pt[id][i]);
|
||||
if (IS_ERR(vm->scratch_pt[id][i])) {
|
||||
int err = PTR_ERR(vm->scratch_pt[id][i]);
|
||||
|
||||
vm->scratch_pt[id][i] = NULL;
|
||||
return err;
|
||||
}
|
||||
|
||||
xe_pt_populate_empty(tile, vm, vm->scratch_pt[id][i]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user