diff --git a/projects/clr/rocclr/device/device.cpp b/projects/clr/rocclr/device/device.cpp index 2154535c11..eca7b55168 100644 --- a/projects/clr/rocclr/device/device.cpp +++ b/projects/clr/rocclr/device/device.cpp @@ -370,7 +370,9 @@ amd::Memory* MemObjMap::FindMemObj(const void* k, size_t* offset) { --it; amd::Memory* mem = it->second; - if (key >= it->first && key < (it->first + mem->getSize())) { + size_t mem_size = (mem->getMemFlags() & ROCCLR_MEM_PHYMEM) ? sizeof(mem->getUserData().hsa_handle) + : mem->getSize(); + if (key >= it->first && key < (it->first + mem_size)) { if (offset != nullptr) { *offset = key - it->first; }