From ff12be080d89510c3438948072edc7f92c292143 Mon Sep 17 00:00:00 2001 From: Saleel Kudchadker Date: Wed, 3 Jul 2024 17:34:20 +0000 Subject: [PATCH] SWDEV-465602 - Fix random segfault - Introduce a lock when checking isUserObjectValid. We need a lock here as one can remove the userObject T2, leading to buffer overflow when checking ranges in T1. Change-Id: I058144b8cc463c90ab6bf5cf96bf937897742917 [ROCm/clr commit: 6ac67afdd5074a99087e93c41288dd6614212bc3] --- projects/clr/hipamd/src/hip_graph_internal.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/clr/hipamd/src/hip_graph_internal.hpp b/projects/clr/hipamd/src/hip_graph_internal.hpp index fbce571246..2cbefb6238 100644 --- a/projects/clr/hipamd/src/hip_graph_internal.hpp +++ b/projects/clr/hipamd/src/hip_graph_internal.hpp @@ -88,6 +88,7 @@ struct UserObject : public amd::ReferenceCountedObject { } static bool isUserObjvalid(UserObject* pUsertObj) { + amd::ScopedLock lock(UserObjectLock_); auto it = ObjectSet_.find(pUsertObj); if (it == ObjectSet_.end()) { return false;