-
Notifications
You must be signed in to change notification settings - Fork 798
Open
Labels
CoveritybugSomething isn't workingSomething isn't workinglevel-zeroIssues related to the Level Zero backendIssues related to the Level Zero backendunified-runtime
Description
Reported by Coverity as CID 520793, you can access Coverity results here: https://scan.coverity.com/projects/intel-llvm?tab=overview
The following piece of code:
llvm/unified-runtime/source/adapters/level_zero/event.cpp
Lines 1585 to 1588 in faa6180
| if (Queue && Queue != CurQueue) { | |
| CurQueue->Mutex.unlock(); | |
| QueueLock = std::unique_lock<ur_shared_mutex>(Queue->Mutex); | |
| } |
Is located within a loop:
llvm/unified-runtime/source/adapters/level_zero/event.cpp
Lines 1552 to 1553 in faa6180
| for (uint32_t I = 0; I < EventListLength; I++) { | |
| { |
Meaning, that we may call CurQueue->Mutex.unlock(); multiple times. That mutex is a std::shared_mutex whose unlock method behavior is undefined if a mutex is already unlocked.
Metadata
Metadata
Assignees
Labels
CoveritybugSomething isn't workingSomething isn't workinglevel-zeroIssues related to the Level Zero backendIssues related to the Level Zero backendunified-runtime