mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-05-03 12:38:02 +02:00
intel: Add handle to hashtable before freeing along an error path
drm_intel_gem_bo_free() unconditionally attempts to remove the handle from the hashtable. This goes horribly wrong if we haven't already added the bo to the hashtable. Reported-by: Michael Thayer <michael.thayer@oracle.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
5ee9cb4b4b
commit
19c4cfc549
1 changed files with 4 additions and 4 deletions
|
|
@ -815,6 +815,10 @@ retry:
|
|||
}
|
||||
|
||||
bo_gem->gem_handle = create.handle;
|
||||
HASH_ADD(handle_hh, bufmgr_gem->handle_table,
|
||||
gem_handle, sizeof(bo_gem->gem_handle),
|
||||
bo_gem);
|
||||
|
||||
bo_gem->bo.handle = bo_gem->gem_handle;
|
||||
bo_gem->bo.bufmgr = bufmgr;
|
||||
bo_gem->bo.align = alignment;
|
||||
|
|
@ -827,10 +831,6 @@ retry:
|
|||
tiling_mode,
|
||||
stride))
|
||||
goto err_free;
|
||||
|
||||
HASH_ADD(handle_hh, bufmgr_gem->handle_table,
|
||||
gem_handle, sizeof(bo_gem->gem_handle),
|
||||
bo_gem);
|
||||
}
|
||||
|
||||
bo_gem->name = name;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue