From bc95f8ee427a363553dbe8ff193c86fd3d5726bb Mon Sep 17 00:00:00 2001 From: "Neil R. Spruit" Date: Tue, 25 Jun 2024 16:30:45 -0700 Subject: [PATCH] [L0] Fix event usage after delete during release Signed-off-by: Neil R. Spruit --- source/adapters/level_zero/event.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/adapters/level_zero/event.cpp b/source/adapters/level_zero/event.cpp index 5e4cd3a2bd..5881610f68 100644 --- a/source/adapters/level_zero/event.cpp +++ b/source/adapters/level_zero/event.cpp @@ -1022,6 +1022,7 @@ ur_result_t urEventReleaseInternal(ur_event_handle_t Event) { // Save pointer to the queue before deleting/resetting event. auto Queue = Legacy(Event->UrQueue); + auto URQueue = Event->UrQueue; // If the event was a timestamp recording, we try to evict its entry in the // queue. @@ -1053,8 +1054,8 @@ ur_result_t urEventReleaseInternal(ur_event_handle_t Event) { // created so that we can avoid ur_queue_handle_t is released before the // associated ur_event_handle_t is released. Here we have to decrement it so // ur_queue_handle_t can be released successfully. - if (Event->UrQueue) { - UR_CALL(urQueueReleaseInternal(Event->UrQueue)); + if (URQueue) { + UR_CALL(urQueueReleaseInternal(URQueue)); } return UR_RESULT_SUCCESS;