From 875468bbfbfed72ede43a97df1911ed66e08368e Mon Sep 17 00:00:00 2001 From: "Assiouras, Ioannis" Date: Sun, 27 Apr 2025 21:14:01 +0100 Subject: [PATCH] SWDEV-526188 - Fix race condition in StatCO::getStatFunc() Make sure that a newly created FatBinaryInfo is assigned to modules only after extractFatBinary has been called for the object. [ROCm/clr commit: 1099e0a13183ce93ca151510f250798326924783] --- projects/clr/hipamd/src/hip_code_object.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/projects/clr/hipamd/src/hip_code_object.cpp b/projects/clr/hipamd/src/hip_code_object.cpp index f0615bcd16..4ef4271cab 100644 --- a/projects/clr/hipamd/src/hip_code_object.cpp +++ b/projects/clr/hipamd/src/hip_code_object.cpp @@ -1312,10 +1312,10 @@ hipError_t StatCO::digestFatBinary(const void* data, FatBinaryInfo*& programs) { } // Create a new fat binary object and extract the fat binary for all devices. - programs = new FatBinaryInfo(nullptr, data); - IHIP_RETURN_ONFAIL(programs->ExtractFatBinary(g_devices)); - - return hipSuccess; + FatBinaryInfo* fatBinaryInfo = new FatBinaryInfo(nullptr, data); + hipError_t err = fatBinaryInfo->ExtractFatBinary(g_devices); + programs = fatBinaryInfo; + return err; } FatBinaryInfo** StatCO::addFatBinary(const void* data, bool initialized, bool& success) {