From d0b9e0a4ffa5b8295e0120554e66e2089acfa3d0 Mon Sep 17 00:00:00 2001 From: sdashmiz Date: Thu, 21 Jul 2022 14:13:06 -0400 Subject: [PATCH] SWDEV-346423 - avoid race condition - move removing the array from array set earlier to avoid race condition Signed-off-by: sdashmiz Change-Id: I9003c991e3e0f47ed0509ddfdbeaa145b5a1e0f1 --- hipamd/src/hip_memory.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hipamd/src/hip_memory.cpp b/hipamd/src/hip_memory.cpp index 444c01e156..4cbfddba7b 100644 --- a/hipamd/src/hip_memory.cpp +++ b/hipamd/src/hip_memory.cpp @@ -627,6 +627,8 @@ hipError_t ihipArrayDestroy(hipArray* array) { amd::ScopedLock lock(hip::hipArraySetLock); if (hip::hipArraySet.find(array) == hip::hipArraySet.end()) { return hipErrorContextIsDestroyed; + } else { + hip::hipArraySet.erase(array); } } cl_mem memObj = reinterpret_cast(array->data); @@ -642,10 +644,6 @@ hipError_t ihipArrayDestroy(hipArray* array) { } as_amd(memObj)->release(); - { - amd::ScopedLock lock(hip::hipArraySetLock); - hip::hipArraySet.erase(array); - } delete array; return hipSuccess; }