diff --git a/runtime/hsa-runtime/core/runtime/runtime.cpp b/runtime/hsa-runtime/core/runtime/runtime.cpp index a4cb90280f..50eac54c0b 100644 --- a/runtime/hsa-runtime/core/runtime/runtime.cpp +++ b/runtime/hsa-runtime/core/runtime/runtime.cpp @@ -555,6 +555,12 @@ hsa_status_t Runtime::AllowAccess(uint32_t num_agents, } amd_region = reinterpret_cast(it->second.region); + + // Imported IPC handle entries inside allocation_map_ do not have an amd_region because they + // were allocated in the other process. Access is already granted during IPCAttach(). + if (!amd_region) + return HSA_STATUS_SUCCESS; + alloc_size = it->second.size; }